SQL Server:升级数据库

时间:2008-12-08 12:27:08

标签: sql-server upgrade

我们有一个使用Microsoft SQL Server数据库的产品。我们有客户使用该产品的各种旧版本。

在这种情况下,人们如何编写/构建数据库升级脚本?

2 个答案:

答案 0 :(得分:2)

您需要一组发布到发布的修补程序脚本。在具有实时数据的生产系统上,这有点棘手,因为您可能还需要操作这些脚本中的数据。

Redgate SQL Compare Pro是一个非常好的工具,用于在脚本上生成这些脚本或执行QA功能(显然,您不应该将它用于这两个角色)。由于您涉及实时客户数据,因此您必须对升级进行回归测试。

我认为没有一种简单的方法可以做到这一点。您将不得不开发脚本并测试它所执行的任何数据操作。对于一些有用的升级,从版本到版本进行测试。这里的关键是安排一个生产镜像测试环境,您可以在将它们应用到实时系统之前测试它们。

P.S。在你真正最终运行补丁脚本之前,不要忘记备份并测试生产数据库上的恢复,但是你已经知道了; - }

答案 1 :(得分:0)

我们有一个SQL脚本可以执行全新安装和升级。安装SQL Express或完整SQL服务器后,我们运行此脚本执行以下操作:

  1. 如果表格与CREATE TABLE不存在,则创建表格。
  2. 删除并重新创建所有存储过程
  3. 对表格进行修改,例如字段更改,字段添加等。
  4. 我们继续扩展此脚本,因此每个版本只会添加到此SQL脚本文件中。这意味着我们可以在生产系统上运行此脚本以将其更新为最新模式,使用新安装的脚本从头开始创建模式。

    这样我们可以保证升级脚本甚至可以将最旧的安装程序带到最新版本。