sql-server - 管理更新多个数据库的迁移的最佳实践?

标签 sql-server continuous-integration linked-server database-migration

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

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

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

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

最佳答案

Visual Studio 2008(团队版,特别是 GDR)可以根据定义的架构/元数据文件自动部署架构,您可以将其部署到服务器。这可以包含在您的构建/部署过程中。但是,我认为复制和架构更改仍然存在问题 - 没有包可以理解/知道您的复制设置。

例如,我们在订阅者上使用自定义复制过程,尽管模式更改从发布者传播,但我们有时必须根据我们现有的任何自定义复制手动编写更改脚本。如果您不使用自定义复制过程,我会说这是正确的方法。

关于sql-server - 管理更新多个数据库的迁移的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/765891/

相关文章:

sql-server - 如何引用名称中带有反斜杠 (\) 的 SQL Server?

sql - T-SQL NULLIF 返回 NULL 为零

sql-server - 使用 TOP 子句在同一事务中选择和删除

sql-server - %book% 的全文目录/索引搜索

windows - TeamCity 替代方案

sql - 奇怪的SQL远程查询

sql-server - TSQL 使用 dd-mm-yyyy 和 yyyy-mm-dd 有什么区别

ssl - tfs 构建随机失败

排除路径的 Github 工作流不起作用

sql - 如何使用链接服务器将数据从一个数据库提取到另一个数据库?