MSSQLSERVER_19421
適用於:SQL Server
詳細資料
屬性 | 值 |
---|---|
產品名稱 | SQL Server |
事件識別碼 | 19421 |
事件來源 | MSSQLSERVER |
元件 | SQLEngine |
符號名稱 | HADR_AG_LEASE_RENEWAL_TIMEOUT |
訊息文字 | SQL Server 裝載可用性群組 '%.*ls' 未在租用逾時期間內收到來自 Windows Server 故障轉移叢集的進程事件訊號。 |
說明
當 Windows 叢集端的租用協助程式未在預先定義的租用期間內向 SQL Server 租用背景工作線程發出訊號時,SQL Server 錯誤記錄檔中就會引發錯誤 19421。 具體而言,SQL Server 會呼叫 WaitForMultipleObjects() 等候租用逾時事件設定為信號狀態。 如果函式傳回WAIT_TIMEOUT,因為它已超過指定的租用間隔,則會引發錯誤 19421。
租用是 SQL Server 與 Windows Server 容錯移轉叢集 (WSFC) 程序 (特別是 RHS.EXE 程序) 之間進行通訊機制,以時間為基礎。 這兩個程序會定期彼此通訊,以確保另一個程序正在執行和回應。 此通訊會使用 Windows 事件對象 進行,並確保不需要知道 WSFC,就不會發生 AG 資源的故障轉移。 如果其中一個程序未根據預先定義的租用期間回應租用通訊,則會發生租用逾時。 如需詳細資訊,請參閱 租用機制。 另請參閱 運作方式:SQL Server AlwaysOn 租用逾時
此錯誤與其他租用逾時錯誤有關,並提供更詳細的錯誤 MSSQLSERVER_19407
原因
由於 Windows 事件是輕量同步處理物件,因此影響它們的外部因素相對較少。 可能導致租用逾時的典型問題涉及整個系統的問題。 以下是可能導致租用到期並導致重新啟動或故障轉移的可能性清單:
- 系統上的高 CPU 使用量(接近 100%)
- 記憶體不足的情況 - 低虛擬記憶體和/或其中一個進程正在分頁
- 產生大型記憶體轉儲時,SQL Server 進程沒有回應
- WSFC 離線 (例如仲裁遺失)
使用者動作
檢查 WSFC 叢集中的對應可用性群組資源,以查看它是否回報任何錯誤。
如需詳細的疑難解答,請參閱 MSSQLSERVER_19407 中的 用戶動作
- 針對高 CPU 問題進行疑難解答
- 針對低記憶體問題進行疑難排解
- 減少或避免 SQL Server 或叢集進程的大型記憶體轉儲
- 檢查虛擬機 (VM) 設定是否有過度布建
- 檢查虛擬機 (VM) 移轉或備份造成問題