SQL 服务器:设计器不兼容生成脚本
SQL Server : designer incompatible generate script
我们的测试箱有一个 SQL Server 2012,生产箱有一个 SQL Server 2005。最近,我们转向了自动部署脚本,它在部署过程中执行 SQL 脚本。
我们遇到了一个问题,SSMS 在设计器中使用 "Generate Script" 生成的脚本输出的脚本与 SQL Server 2005 不兼容。它添加了语句 SET (LOCK_ESCALATION = TABLE) 即 SQL Server 2008+
我们已尝试将数据库的兼容性更改为 SQL Server 2005,但这并未解决问题。有趣的是,当使用 Script Table As > Create To > New Query Window 时,这条语句不包括在内。
有一个 SSMS 设置 "Match script settings to source = false",但是,这需要您全局设置一个 SQL 服务器版本,这对我们来说不是一个选项,因为我们维护各种 SQL 服务器版本。有什么办法可以降低 "Generate Scripts" 兼容性?
当 运行在 SSMS 中执行 "Generate Scripts" 任务时,您可以定义为哪个服务器版本创建脚本:
这应该确保不使用 SQL Server 2005 中不存在的命令或选项。
但我支持@ADyson 的观点 - SQL 服务器 2005 已经死了,而且 运行 生产代码在这么旧的环境中存在风险SQL 服务器的版本……您真的应该尽快升级 到更新的版本!
我们的测试箱有一个 SQL Server 2012,生产箱有一个 SQL Server 2005。最近,我们转向了自动部署脚本,它在部署过程中执行 SQL 脚本。
我们遇到了一个问题,SSMS 在设计器中使用 "Generate Script" 生成的脚本输出的脚本与 SQL Server 2005 不兼容。它添加了语句 SET (LOCK_ESCALATION = TABLE) 即 SQL Server 2008+
我们已尝试将数据库的兼容性更改为 SQL Server 2005,但这并未解决问题。有趣的是,当使用 Script Table As > Create To > New Query Window 时,这条语句不包括在内。
有一个 SSMS 设置 "Match script settings to source = false",但是,这需要您全局设置一个 SQL 服务器版本,这对我们来说不是一个选项,因为我们维护各种 SQL 服务器版本。有什么办法可以降低 "Generate Scripts" 兼容性?
当 运行在 SSMS 中执行 "Generate Scripts" 任务时,您可以定义为哪个服务器版本创建脚本:
这应该确保不使用 SQL Server 2005 中不存在的命令或选项。
但我支持@ADyson 的观点 - SQL 服务器 2005 已经死了,而且 运行 生产代码在这么旧的环境中存在风险SQL 服务器的版本……您真的应该尽快升级 到更新的版本!