将 SQL Server 数据库更改从测试部署到生产服务器

vol*_*one 7 sql-server sql-server-2012 sql-server-2014

我有一个production运行 SQL Server的高可用性服务器。它不断被数百名用户读/写。

我在testing服务器上有数据库的精确副本,并在该环境中进行所有开发。每隔几周,就会对前端应用程序和数据库本身进行重大更改(例如,新存储过程、新列、新表)。

因为production服务器上的数据总是最新的,所以当我想对数据库架构进行更改时,我不想丢失这些数据。当前部署变更的流程是:

  1. 备份production服务器并暂停它
  2. 将其恢复到testing服务器中
  3. testing服务器中进行所有数据库更改
  4. 备份testing服务器
  5. 将新版本恢复到production服务器并取消暂停

这些步骤看起来很复杂,导致生产服务器出现不必要的停机。我想做的是production在后台更新服务器数据库,同时仍然允许用户继续读/写数据库。

到目前为止,我可以看到您可以使用复制数据库向导或使用脚本进行更改,但他们似乎想要在production服务器上删除/创建数据库以进行更改。我怎样才能实现更新production服务器数据库的不太严重的方法?

Jam*_*son 1

您将需要一个工具来创建脚本,将生产数据库中的某些表与测试环境中已更改的表同步。

Visual Studio 2013 专业版、高级版和终极版具有架构和数据比较功能。

我个人使用Red Gate SQL进行比较。