我们的测试框有Server 2012,生产框有Server 2005。最近,我们转向自动化部署脚本,它作为部署过程的一部分执行SQL脚本。
我们遇到一个问题,SSMS生成的脚本使用设计器中的“generated”输出与Server 2005不兼容的脚本。它添加了语句集(LOCK_ESCALATION = 2008+ ),它是Server 2008+
我们尝试将数据库的兼容性更改为Server 2005,但这并没有解决问题。有趣的是,当使用Script作为> Create > New窗口时,不包含此语句。
有一个SSMS设置“将脚本设置匹配为source = false",但这要求您全局设置Server版本,这对于我们来说不是一个选项,因为我们维护了各种Server版本。有没有办法降低“生成脚本”的兼容性?
发布于 2019-11-08 08:01:50
在SSMS中运行"Generate“任务时,可以定义要为以下目的创建脚本的服务器版本:

这应确保不使用Server 2005中不存在的命令或选项。
但是我第二次@ADyson的感想- Server 2005已经不再死气沉沉了,在这样一个旧版本的Server上运行生产代码是一种风险.您确实应该尽快将升级到更新的版本!
https://stackoverflow.com/questions/58761888
复制相似问题