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

Sql server SQL Server:设计器不兼容生成脚本,sql-server,sql-server-2005,sql-server-2012,ssms,Sql Server,Sql Server 2005,Sql Server 2012,Ssms,我们的测试箱使用SQL Server 2012,生产箱使用SQL Server 2005。最近,我们转向了自动化部署脚本,它将执行SQL脚本作为部署过程的一部分 我们遇到了一个问题,即SSMS在设计器中使用“Generate script”生成的脚本会输出一个与SQL Server 2005不兼容的脚本。它添加了SQL Server 2008语句集(LOCK_ESCALATION=TABLE)+ 我们已尝试将数据库的兼容性更改为SQL Server 2005,但这并没有解决问题。有趣的是,当使用

我们的测试箱使用SQL Server 2012,生产箱使用SQL Server 2005。最近,我们转向了自动化部署脚本,它将执行SQL脚本作为部署过程的一部分

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

我们已尝试将数据库的兼容性更改为SQL Server 2005,但这并没有解决问题。有趣的是,当使用脚本表As>createto>newquery窗口时,不包括该语句

SSMS有一个设置“Match script settings to source=false”,但是,这要求您全局设置SQL Server版本,这不是我们的选项,因为我们维护各种SQL Server版本。有没有降低“生成脚本”兼容性的方法?

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

这将确保不会使用SQL Server 2005中不存在的命令或选项


但我支持@ADyson的观点——SQL Server2005已经死了,被埋葬了,在如此旧版本的SQL Server上运行生产代码是一种风险。。。。。。你真的应该尽快升级到最新版本

你不能升级你的产品箱吗?2005年是古老的历史,脱离了多年的支持。你真的不应该在这样的东西上运行实时代码。最好在同一版本上运行两个环境,这样在部署到生产环境时不会出现意外问题。您确实需要升级。不仅仅是SQLServer2005在近十年前失去了支持。2012年甚至2008年的测试结果不适用于2005年。尽管SQL Server 2012已经不受支持,但最早支持的版本是2016年。自2016年以来,开发者版是免费的,以前的企业功能(如分区、列存储和压缩)可用于所有版本,甚至包括Express