我们正在使用新服务器和更新版本的 Microsoft SQL Server 升级我们的测试环境,但遇到了问题。
在新服务器上,我们的旧代码在执行一些存储过程时会出现“对象关闭时不允许操作”。此消息从未出现在旧服务器上。当我们追踪到它时,可以通过添加SET NOCOUNT ON;
到存储过程来解决问题。
我查看了数据库的默认值,没有看到与默认值相关的不同设置(SQL Server 2008 与 SQL Server 2014)。
我应该查看什么设置来全局解决此问题而不需要添加SET NOCOUNT ON
到一千个存储过程?
SQL Server Configuration 有一个名为 appropriately 的选项,
user options
可以使用sp_configure
系统存储过程进行设置。我在SQL Server Science上写了一篇博文,展示了如何检查和设置用户选项。简而言之,您可以使用以下命令从旧服务器获取“配置值”:
然后,通过以下方式将新服务器设置为使用相同的选项:
(将 <config value> 替换为旧服务器的值)。