次の方法で共有


MSSQLSERVER_19419

適用対象: SQL サーバー

詳細

属性 Value
製品名 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 は WaitForMultipleObjects() を呼び出し、Lease タイムアウト イベントがシグナル状態に設定されるのを待機します。 この関数が成功を示すWAIT_OBJECT_0を返すが、この時点でリースが期限切れになった場合は、エラー 19419 が発生します。

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

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

原因

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

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

エラー 19419 の最も一般的な理由は CPU が高いため、リース ワーカー スレッドのスケジュール設定に遅延が発生します。

ユーザー アクション

SQL Server リース ワーカーが CPU リソースに対して不足しているように見えるので、サーバーの 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) の移行またはバックアップを確認する