次の方法で共有


MSSQLSERVER_19419

適用対象:SQL Server

詳細

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

説明

エラー 19419 は、SQL Server側のリース ワーカーがクラスターからのイベント信号を処理する時間にスケジュールされなかった場合に、SQL Serverエラー ログで発生します。 具体的には、SQL Serverは、Lease タイムアウト イベントがシグナル状態に設定されるのを待機している WaitForMultipleObjects() を呼び出します。 関数がWAIT_OBJECT_0を返す場合 (成功を示しますが、この時点でリースが期限切れになった場合)、エラー 19419 が発生します。

リースは、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 がオフラインになる (クォーラムの損失など)

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