我有一个相当大的SQL Server 2005数据库正在不断发展。我经常会遇到一个新的开发人员,或者需要将大规模架构更改部署到生产服务器。
我主要担心的是从“主”开发副本向开发人员计算机部署架构+数据更新。
是否有一些用于以这种方式发布架构+数据的内置功能或工具?我希望尽可能少花时间。可以在SSMS内完成吗?
提前感谢您的时间
答案 0 :(得分:7)
我建议使用可以部署架构更改和/或数据的RedGate工具(这不是广告,而是使用它们的实际经验):
我过去使用过这些工具(其他人也是如此),他们确实帮助了开发阶段。这些工具不是免费的,但它们的价格对任何开发团队来说都是可以接受的。
答案 1 :(得分:4)
我知道很久以前就回答了这个问题,但退房了 http://en.wikipedia.org/wiki/Microsoft_SQL_Server_Compare_Tools
它显示了许多免费和付费的比较工具 例如,列出的免费工具是Yes Soft的SQL Server Compare http://www.yessoft.com/software/sqlservercompare/sqlservercompare.htm http://www.yessoft.com/software/sqlservercompare/screenshot1.jpg
网站上提供的信息:
- 免费工具列表
- 付费工具清单
- 工具的特点:比较,生成同步脚本,同步, 许可
上升:列出了5个免费工具,列出了21个付费工具 缺点:这是维基百科。链接似乎指向维基百科页面而不是实际的主页,但如果你谷歌你会发现它们。
答案 2 :(得分:3)
我将加入对Red Gates工具的投票 - 它们并不昂贵而且价格昂贵。它们很有用 - 我们有几个复杂的数据库和使用像SQL Compare这样的工具是我对确保更新脚本正确的唯一方法。在我们使用任何工具之前,它有时非常可怕
答案 3 :(得分:2)
您可以使用SSMS安排备份和还原作业。在我看来,这是最简单的解决方案。此作业的频率取决于您的架构/数据的动态程度。
答案 4 :(得分:2)
您可以随时将数据库分离,然后重新访问数据库。只有在执行复制时几分钟内“主”不可用时,此策略才有效。
这显然只是当时数据库的快照,如果您正在寻找更具动态性的解决方案,您可能需要研究复制。
答案 5 :(得分:2)
您可以使用标准SQL Server功能进行备份和还原 这就是我们的工作。我们无论如何都要在晚上9点在生产服务器上运行每日备份。
然后在晚上11点,我们在测试服务器上运行一个SQL Server代理作业,该作业从生产服务器恢复最后一个备份(“RESTORE DATABASE ...”)。
唯一的问题是:您必须习惯于您在第二天早上在测试数据库中所做的所有更改都离开了: - )