共用方式為


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) 移轉或備份造成問題