MSSQLSERVER_19421
適用対象: SQL サーバー
詳細
属性 | Value |
---|---|
製品名 | SQL Server |
イベント ID | 19421 |
イベント ソース | MSSQLSERVER |
コンポーネント | SQLEngine |
シンボル名 | HADR_AG_LEASE_RENEWAL_TIMEOUT |
メッセージ テキスト | SQL Server ホスティング可用性グループ '%.*ls' は、リース タイムアウト期間内に Windows Server フェールオーバー クラスターからプロセス イベント シグナルを受信しませんでした。 |
説明
Windows クラスター側のリース ヘルパーが定義済みのリース期間内に SQL Server リース ワーカー スレッドを通知しなかった場合、SQL Server エラー ログでエラー 19421 が発生します。 具体的には、SQL Server は WaitForMultipleObjects() を呼び出し、Lease タイムアウト イベントがシグナル状態に設定されるのを待機します。 指定したリース間隔を超えたため、関数がWAIT_TIMEOUTを返した場合、エラー 19421 が発生します。
リースは、SQL Server と Windows Server フェールオーバー クラスター (WSFC) プロセス (特に RHS.EXE プロセス) の間で行われる時間ベースの通信メカニズムです。 2 つのプロセスは、他のプロセスが実行され、応答していることを確認するために、定期的に相互に通信します。 この通信は Windows Event オブジェクトを使用して行われ WSFC の知識がなくても AG リソースのフェールオーバーが発生しないようにします。 定義済みのリース期間に基づいて、いずれかのプロセスがリース通信に応答しない場合、リース タイムアウトが発生します。 詳細については、「 リリース メカニズム」を参照してください。 「 しくみ: SQL Server AlwaysOn のリース タイムアウト」も参照してください
このエラーは、他のリース タイムアウト エラーに関連しており、エラー MSSQLSERVER_19407の詳細を提供します
原因
Windows イベントは軽量の同期オブジェクトであるため、それらに悪影響を与える外部要因の数は比較的少なくなります。 リース タイムアウトにつながる可能性がある一般的な問題には、システム全体の問題が含まれます。 リースの有効期限が切れ、再起動またはフェールオーバーが発生する可能性のある可能性の一覧を次に示します。
- システムでの高い CPU 使用率 (100% に近い)
- メモリ不足の状態 - 仮想メモリが不足しているか、プロセスの 1 つがページ アウトされています
- 大きなメモリ ダンプの生成中に SQL Server プロセスが応答しない
- WSFC がオフラインになる (クォーラム損失など)
ユーザー アクション
WSFC クラスター内の対応する可用性グループ リソースを調べて、エラーが報告されたかどうかを確認します。
詳細なトラブルシューティングについては、 MSSQLSERVER_19407のユーザー アクションを参照してください。
- CPU 使用率の高い問題のトラブルシューティング
- メモリ不足の問題のトラブルシューティング
- SQL Server またはクラスター プロセスの大きなメモリ ダンプを削減または回避する
- 仮想マシン (VM) の構成でオーバープロビジョニングを確認する
- 問題の原因となっている仮想マシン (VM) の移行またはバックアップを確認する