徵狀
假設您使用的會話會呼叫公用語言執行時間(CLR)儲存程式(「呼叫會話」)來存取 Microsoft SQL Server 中的資料,而該程式接著會建立一個獨立的連線(「第二次會話」)至同一個伺服器,而不是 內容連線。 然後,如果呼叫會話因超時或取消而終止,第二個會話可能會變成孤立狀態,且會存在於系統中,直到您使用 KILL 命令手動終止為止 。 如果孤立會話保留任何鎖定,可能會封鎖等待解除鎖定的其他會話。
狀態
Microsoft 已確認<適用於>一節所列的 Microsoft 產品確實有上述問題。
解決方案
此問題已在 SQL Server 的下列累積更新中修正:
關於 SQL Server 的累積更新:
每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新
注意: 根據預設,此修正功能因需要 在 SQL Server 中保留 CLR 執行緒的舊版行為。 如果您的系統出現先前所述的問題,您只需將它開啟。 若要啟用修正程式,您必須使用 資料庫引擎服務啟動選項,將 trace 標誌6559新增至伺服器。 請記住,此追蹤標誌只能與 SQL Server 啟動選項搭配使用。 無法使用DBCC TRACEON命令進行設定。
參考
了解 Microsoft 用來說明軟體更新的術語。