次の方法で共有


MSSQLSERVER_19421

適用対象:SQL Server

詳細

属性
製品名 SQL Server
イベント ID 19421
イベント ソース MSSQLSERVER
コンポーネント SQLEngine
シンボル名 HADR_AG_LEASE_RENEWAL_TIMEOUT
メッセージ テキスト SQL Serverホスティング可用性グループ '%.*ls' は、リース タイムアウト期間内に Windows Server フェールオーバー クラスターからプロセス イベントシグナルを受信しませんでした。

説明

Windows クラスター側のリース ヘルパーが定義済みのリース期間内にSQL Serverリース ワーカー スレッドを通知しなかった場合、エラー 19421 がSQL Server エラー ログで発生します。 具体的には、SQL Serverは、Lease タイムアウト イベントがシグナル状態に設定されるのを待機している WaitForMultipleObjects() を呼び出します。 指定したリース間隔を超えたために関数がWAIT_TIMEOUTを返す場合、エラー 19421 が発生します。

リースは、SQL Serverと Windows Server フェールオーバー クラスター (WSFC) プロセス (特にRHS.EXE プロセス) の間で行われる時間ベースの通信メカニズムです。 2 つのプロセスは、他のプロセスが実行され、応答していることを確認するために、定期的に相互に通信します。 この通信は Windows イベント オブジェクト を使用して行われ、WSFC の知識がなくても AG リソースのフェールオーバーが発生しないようにします。 定義済みのリース期間に基づいていずれかのプロセスがリース通信に応答しない場合は、リース タイムアウトが発生します。 詳細については、「 リース メカニズム」を参照してください。 「How it works: SQL Server AlwaysOn Lease Timeout」も参照してください。

このエラーは、他のリース タイムアウト エラーに関連しており、エラー MSSQLSERVER_19407の詳細を提供します

原因

Windows イベントは軽量の同期オブジェクトであるため、悪影響を及ぼす外部要因の数は比較的少ない。 リース タイムアウトにつながる可能性がある一般的な問題には、システム全体の問題が含まれます。 リースの有効期限が切れ、再起動またはフェールオーバーが発生する可能性のある可能性の一覧を次に示します。

  • システムでの CPU 使用率が高い (100% に近い)
  • メモリ不足の状態 - 仮想メモリが少ない、またはいずれかのプロセスがページ アウトされている
  • SQL Serverプロセスが大きなメモリ ダンプの生成中に応答しない
  • WSFC がオフラインになる (クォーラムの損失など)

ユーザー アクション

WSFC クラスター内の対応する可用性グループ リソースを調べて、エラーが報告されたかどうかを確認します。

トラブルシューティングの詳細については、「MSSQLSERVER_19407のユーザー アクション」を参照してください。

  • CPU 使用率の高い問題のトラブルシューティング
  • メモリ不足の問題のトラブルシューティング
  • SQL Serverまたはクラスター プロセスの大きなメモリ ダンプを削減または回避する
  • 仮想マシン (VM) の構成でオーバープロビジョニングを確認する
  • 問題の原因となっている仮想マシン (VM) の移行またはバックアップを確認する