我的团队正在评估用于管理数据库迁移/数据库重构的工具和流程,如 Martin Fowler、Pramod Sadalage 等人所述。等人。我们对自动化、可重复、可测试的流程感兴趣,因此我们对每次部署时手动运行 SQL Compare 之类的技术不感兴趣。我们目前正在使用 CruiseControl.NET 进行持续集成。

我们的生产环境有多个 SQL Server 2000 数据库服务器,它们之间有复制。因此,我们的迁移将对源数据库服务器和目标数据库服务器上的架构进行更改。

要使用 dbdeploy 等工具执行此类迁移,我们似乎需要针对其中一台服务器运行迁移,并且必须将其他服务器添加为链接服务器。因此,针对主服务器运行的单个脚本可以针对任何链接服务器执行 DDL。

我的问题是这样的:这种方法是否被认为是最佳实践,或者是否有更好的技术来应用涉及多个数据库服务器的迁移?

有帮助吗?

解决方案

设置它一定要测试时会发生什么链接的服务器之一是下来的时候我看不出有什么内在的错误然而,这种方法。你不希望回滚所有其他服务器如果恰好是下来,你想知道的变化不会应用到服务器。

当然,对于任何迁移第一,最重要的最佳实践是确保你有一个可靠的备份过程中,你开始迁移更改。

其他提示

的Visual Studio 2008(团队版,特别GDR)可以处理针对定义的模式/元数据文件架构,其可以部署到服务器的自动化部署。这可以被包含在构建/部署过程。不过,我觉得还是有对复制和模式改变的问题 - 没有包装,理解/意识到复制设置的。

有关实例中,我们使用在用户自定义复制程序,虽然模式更改从发布者传播我们有时必须手动脚本的变化取决于我们已经制定的任何自定义复制。如果不使用自定义复制的特效,我会说这是要走的路。

您可以尝试组合使用 钦奇林威奇比:在数据库服务器上安装 Chinchillin 代理,并让它在部署过程中执行 Wizardby 迁移脚本。

不过,这种集成正在进行中:)

下面红门我们现在已经得到了使用SQL比较和SQL源控制的可重复迁移的解决方案。因此,该SQL比较命令行可用于支持连续集成过程。

http://www.red-gate.com/MessageBoard /viewtopic.php?t=14107

这是目前早期进入编译,所以我们渴望得到尽可能多的反馈越好。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top