手动编写SQL Server升级脚本的提示

时间:2012-02-23 19:22:51

标签: sql-server upgrade data-migration

我们在管道中有一些大的架构更改,并且需要手动编写升级脚本的一些提示。我们正在使用SQL Server 2000并且可以访问自动化工具,此时它们也不是一个选项。我们唯一的数据库工具是SQL Server Management Studio。

3 个答案:

答案 0 :(得分:1)

虽然不是您想到的,但您可以使用Schema比较工具(如SQL Compare),然后将更改编写为sql文件的脚本,然后您可以在运行之前手动编辑它。我想这样就可以手动编写而无需手动编写。

如果您需要 - 手动编写全部内容,我建议您使用一些智能感知工具来加快速度。

答案 1 :(得分:1)

您的升级策略可能会针对您的部署方案进行一定程度的自定义,但这里有几点可能有所帮助。

  • 你想要提前和经常测试(不是你不会这样做),所以一定要在你的初始架构中有一个测试数据库,并备份,这样你就可以恢复到“开始” “并多次测试您的升级。
  • 备份&恢复可能非常耗时,因此让数据库没有数据行(仅模式)来测试升级脚本可能会有所帮助。请记住获得“开始”备份,以便您可以按需返回。
  • 考虑将一系列脚本串在一起 - 您可以为每个构建或功能使用一个,或者其他。这样,一旦你有部分脚本工作,你可以不管它。
  • 大数据迁移可能会变得棘手。如果您正在进行数据转换,复制或将行移动到新表等,请确保在移动之前检查行计数,然后考虑所有行。
  • 计划失败。如果出现问题,请制定计划来修复它 - 无论是将所有内容还原到部署开始时采取的备份,还是其他任何内容。只要确保你有一个计划,你就明白你的去/不去的地方。
祝你好运!

答案 2 :(得分:1)

您可以将数据库导入到具有较新版本SQL的本地计算机,然后您可以使用“生成脚本”功能来编写许多数据库对象的脚本。

确保在SQL Server 2000的高级设置中设置脚本。

如果您遇到生成的脚本问题,可以尝试将其分解为块并小批量运行。这样,如果您有任何特定的生成脚本,您可以手动编写SQL以使其运行。