症狀
根據 Microsoft SQL Server 2016 或 2019 中的使用者連線伺服器組態選項) ,使用者連線和系統或背景工作所使用的工作階段數目達到 32,767 個上限 (或更少時,系統或背景工作不會執行必要的系統或背景工作。 此外,錯誤記錄檔中可能會記錄錯誤 17300。 如果 SQL Server 需要此工作才能繼續按預期執行 (例如 XE Dispatcher 工作) ,這可能會導致 SQL Server 關閉。
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。
解決方式
此問題已在下列 SQL Server 累積更新中修正:
關於 SQL Server 的累積更新:
SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 查看 SQL Server 的最新累積更新:
更多資訊
在 SQL Server 中,任何使用者連線或系統工作都必須具有介於 1 到 32,767 之間的唯一識別碼,在工作階段內執行。 前 50 個工作階段保留給系統工作,其餘的工作階段可在使用者連線和系統工作之間共用。 請注意,實際系統工作的數量會因伺服器或資料庫組態而異,例如使用可用性群組、執行 Full-Text 搜尋等等。 如果已建立足夠的使用者連線,以致沒有空間容納更多系統工作,嘗試建立其他系統工作可能會失敗。 即使系統管理員透過伺服器設定減少使用者連線的上限,也只能保證 50 個系統工作的空間。
此修正程式可將保證的系統工作數目增加到至少 500 個。 這意味著,如果配置的使用者連線數設定為預設值或超過 32,267,則實際使用者連線數將限制為 32,267,以確保可以執行 500 個系統工作。 如果使用者將使用者連線數目設定為少於 32,267,則在套用此修正程式) 之前,所有剩餘空間(最多 32,767 個)將可供系統工作 (而不是 50 個系統工作使用。
參考資料
了解 Microsoft 用來說明軟體更新的術語。