MSSQLSERVER_19419
適用於:SQL Server
詳細資料
屬性 | 值 |
---|---|
產品名稱 | SQL Server |
事件識別碼 | 19419 |
事件來源 | MSSQLSERVER |
元件 | SQLEngine |
符號名稱 | HADR_AG_LEASE_EXPIRED_WAITING_FOR_RENEW |
訊息文字 | Windows Server 容錯移轉叢集未在租用逾時期間內收到 SQL Server 裝載可用性群組 '%.*ls' 的進程事件訊號。 |
說明
當 SQL Server 端的租用背景工作角色未及時排程處理叢集的事件訊號時,會在 SQL Server 錯誤記錄檔中引發錯誤 19419。 具體而言,SQL Server 會呼叫 WaitForMultipleObjects() 等候租用逾時事件設定為信號狀態。 如果函式傳回WAIT_OBJECT_0,表示成功,但此時租用已過期,則會引發錯誤 19419。
租用是 SQL Server 與 Windows Server 容錯移轉叢集 (WSFC) 程式之間發生的以時間為基礎的通訊機制,特別是 RHS.EXE 程式。 這兩個進程會定期彼此通訊,以確保另一個進程正在執行和回應。 此通訊會使用 Windows 事件物件 進行,並確保不需要知道 WSFC,就不會發生 AG 資源的容錯移轉。 如果其中一個進程未根據預先定義的租用期間回應租用通訊,就會發生租用逾時。 如需詳細資訊,請參閱 租用機制 。 另請參閱 運作方式:SQL Server AlwaysOn 租用逾時
此錯誤與其他租用逾時錯誤有關,並提供更詳細的錯誤 MSSQLSERVER_19407
原因
由於 Windows 事件是輕量同步處理物件,因此影響它們的外部因素相對較少。 可能導致租用逾時的典型問題涉及整個系統的問題。 以下是可能導致租用到期並導致重新開機或容錯移轉的可能性清單:
- 系統上的高 CPU 使用量(接近 100%)
- 記憶體不足的情況 - 低虛擬記憶體和/或其中一個進程正在分頁
- 產生大型記憶體傾印時,SQL Server 進程沒有回應
- WSFC 離線 (例如仲裁遺失)
錯誤 19419 最常見的原因是 CPU 偏高,這會導致排程租用背景工作執行緒的延遲。
使用者動作
檢查伺服器上的 CPU 使用率,因為 SQL Server 租用背景工作角色似乎因為 CPU 資源不足。 下列 PowerShell 腳本可讓您快速診斷系統上的 CPU 使用量。
Get-Counter -Counter "\Processor(_Total)\% Processor Time" -SampleInterval 5 -MaxSamples 30 |
Select-Object -ExpandProperty CounterSamples | Select-Object TimeStamp, Path, CookedValue
如需詳細的疑難排解,請參閱 MSSQLSERVER_19407 中的 使用者動作
- 針對高 CPU 問題進行疑難排解
- 針對記憶體不足的問題進行疑難排解
- 減少或避免 SQL Server 或叢集進程的大型記憶體傾印
- 檢查虛擬機器 (VM) 設定是否有過度布建
- 檢查虛擬機器 (VM) 移轉或備份造成問題
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應