SQL Server 2008开发和版本控制?
我有一个live SQL Server 2008数据库,我需要开始对其结构进行一些更改。显然,因为它是活的,我想有一个开发副本,我的工作。我如何跟踪这些更改,以便在时机成熟时轻松更新我的live DB?Red Gate的SQL源代码控制对此有很大帮助:SQL Server 2008开发和版本控制?,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我有一个live SQL Server 2008数据库,我需要开始对其结构进行一些更改。显然,因为它是活的,我想有一个开发副本,我的工作。我如何跟踪这些更改,以便在时机成熟时轻松更新我的live DB?Red Gate的SQL源代码控制对此有很大帮助: 此外,您还可以轻松地将其绑定到CI流程中以实现自动发布:Redgate工具非常优秀 您还可以使用Visual Studio数据库项目来进行源代码管理、同步架构和数据,并进行部署:一个选项是在sql文件中编写所有数据库架构更改的脚本,一旦完成开发,
此外,您还可以轻松地将其绑定到CI流程中以实现自动发布:Redgate工具非常优秀
您还可以使用Visual Studio数据库项目来进行源代码管理、同步架构和数据,并进行部署:一个选项是在sql文件中编写所有数据库架构更改的脚本,一旦完成开发,就可以对live数据库运行该sql文件 我建议使用IF NOT EXISTS检查,这样脚本就可以重新运行,而不会导致错误 例如:
IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME='tablename')
BEGIN
CREATE TABLE...
END
如果您对数据库进行了一些重构,此方法还允许您编写数据转换脚本。Red Gate的SQL源代码管理在这方面为我们的组织做了很多好事,但我不知道您的预算。当您编写更改脚本时,将它们与运行版本所需的其他代码放在源代码管理中。如果表中有数据,请使用ALTER table,否则会丢失数据。