Sql-Server
SET NOCOUNT 升級後處理 SQL 呼叫時出錯
我們正在使用新伺服器和更新版本的 Microsoft SQL Server 升級我們的測試環境,但遇到了問題。
在新伺服器上,我們的舊程式碼在執行一些儲存過程時會得到“對象關閉時不允許操作”。此消息從未出現在舊伺服器上。當我們跟踪它時,可以通過添加
SET NOCOUNT ON;
到儲存過程來解決問題。我查看了數據庫的預設設置,沒有發現與預設設置相關的不同設置(SQL Server 2008 與 SQL Server 2014)。
我應該查看什麼設置來全域解決此問題而無需添加
SET NOCOUNT ON
到一千個儲存過程?
SQL Server 配置有一個適當地稱為 的選項,
user options
可以使用sp_configure
系統儲存過程進行設置。我在SQL Server Science上寫了一篇博文,展示瞭如何檢查和設置使用者選項。簡而言之,您可以使用以下命令從舊伺服器獲取“配置值”:
EXEC sys.sp_configure 'user options';
然後,通過以下方式設置新伺服器以使用相同的選項:
EXEC sys.sp_configure 'user options', <config value>; RECONFIGURE
(將 <config value> 替換為舊伺服器中的值)。