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) の移行またはバックアップを確認する