为所有对象生成向后兼容的 CREATE DATABASE 脚本?

Zac*_*ith 3 sql-server ssms compatibility-level

我正在使用 SQL Server 2016,我想将我创建的数据库部署到 Sql Server 2012 SP1。

我发现我无法在 v2016 中创建备份并恢复到 v2012。因此,在 v2016 版本中,我:

  • 右键单击数据库
  • 选择任务 > 生成脚本
  • 为所有对象编写一个 CREATE 语句

这有点工作......但我必须手动添加很多对象。该数据库具有表/视图/tvps/sps/标量函数。有没有办法编写向后兼容旧 SQL Server 版本的 create 语句?

Bra*_*adC 6

您使用的是正确的方法,只是没有设置所有正确的选项。

再次通过“任务”>“生成脚本”向导,您可以在其中选择所有对象类型的步骤,以及您可以选择要包含这些对象的哪些属性(权限、索引等)的其他地方。

还有一个“服务器版本脚本”选项,它允许您选择要为其编写脚本的 SQL 版本。

如果您的数据库足够小,您甚至可以在该脚本中包含数据。如果没有,您必须创建空的数据库容器,然后使用 SSIS 或其他东西来传输所有数据。

还有一个选项:您可以创建一个 SSIS 包并使用“传输 SQL Server 对象任务”类型来做同样的事情,它应该具有所有相同的选项:

在此处输入图片说明