SQL Server:设计器不兼容的生成脚本

时间:2019-11-08 07:02:28

标签: sql-server sql-server-2005 sql-server-2012 ssms

我们有一个用于测试箱的SQL Server 2012和一个用于生产箱的SQL Server 2005。最近,我们迁移到了自动部署脚本,该脚本在部署过程中执行SQL脚本。

我们遇到了一个问题,SSMS使用设计器中的“生成脚本”生成的脚本输出的脚本与SQL Server 2005不兼容。它添加了SQL Server 2008+语句SET(LOCK_ESCALATION = TABLE)< / p>

我们尝试将数据库的兼容性更改为SQL Server 2005,但这不能解决问题。有趣的是,当使用“脚本表为”>“创建到”>“新建查询窗口”时,不包含此语句。

有一个SSMS设置“将脚本设置匹配到source = false”,但是,这要求您全局设置SQL Server版本,这对我们来说不是一个选择,因为我们维护着各种SQL Server版本。有没有办法降低“生成脚本”的兼容性?

1 个答案:

答案 0 :(得分:1)

在SSMS中运行“生成脚本”任务时,可以定义要为其创建脚本的服务器版本:

enter image description here

这应该确保不使用SQL Server 2005中不存在的命令或选项。

但是我第二个@ADyson的观点-SQL Server 2005 已经不复存在,并且有可能在这样的旧版本的SQL Server上运行生产代码……您确实应该尽快升级到最新版本!