SQL Server 2008开发和版本控制?
问题描述:
我有一个实时SQL Server 2008数据库,我需要开始处理其结构中的一些更改。很明显,因为它是活的,我想有一个我工作的开发副本。如何跟踪这些更改,以便在时间到达时轻松更新我的实时数据库?SQL Server 2008开发和版本控制?
答
大刻度为红门的SQL源控制这个:http://www.troyhunt.com/2010/07/rocking-your-sql-source-control-world.html
另外,您可以轻松将其绑定到你的CI过程自动化版本:http://www.troyhunt.com/2011/02/automated-database-releases-with.html
答
一种选择是将脚本所有的你,你可以对运行SQL文件数据库架构更改实时数据库一旦开发完成。
我推荐使用IF NOT EXISTS检查,以便您的脚本可以重新运行而不会导致错误。
例如:
IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME='tablename')
BEGIN
CREATE TABLE...
END
这种方法也可以让你的脚本的数据转换,如果你有你的数据库的一些重构。
+0
当您正在编写更改时,请将它们放在源代码控制中,并使用其他代码运行它们以获取版本。如果表中有数据,则使用ALTER表,否则将丢失数据。 – HLGEM 2011-04-21 21:05:35
红门的SQL源代码控制为我们的组织做了很好的事情,但我不知道你的预算。 – Andrew 2011-04-21 01:54:03