メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

現象

この更新プログラムには、Microsoft SQL Server AlwaysOn リースタイムアウトのサポートについて、次のような改善が含まれています。

  • [リースタイムアウト] メッセージに、現在の時刻と期待される更新時間が表示され、ログに記録されます。

  • リースタイムアウトの理由を明確に示すために、リースワーカーに新しいエラーメッセージが追加されました。

  • 新しい拡張イベントと、リース worker 用の新しいリングバッファーが追加されました。 これは、リースの段階を明確に示すものです。

解決方法

この問題は、SQL Server 用の次の Service Pack で最初に修正されました。

SQL Server 2012 Service Pack 3 (SP3) の詳細については、「 Sql server 2012 Service pack 3 で修正されたバグ」を参照してください。

Sql server 2014 の Service Pack 2SQL Server の Service pack についてサービスパックは累積されます。 Service Pack は累積的であり、 最新の Service Pack には新しい修正プログラムと共に、それ以前の Service Pack に含まれていたすべての修正プログラムが含まれています。 このサービスパックの最新の service pack と最新の累積的な更新プログラムを適用することをお勧めします。 最新の service pack をインストールする前に、以前のサービスパックをインストールする必要はありません。 最新の service pack と最新の累積的な更新プログラムの詳細については、次の記事の表1を参照してください。SQL Server とそのコンポーネントのバージョン、エディション、および更新プログラムのレベルを確認する方法

詳細情報

追加情報を提供するために、新しいエラーメッセージが SQL Server に追加されました。 次の表は、それぞれの例を示しています。

エラー

エラー メッセージ

原因

是正措置

19419

可用性グループ '%. * ls ' と Windows Server フェールオーバークラスターの間のリースの更新に失敗しました。既存のリースが無効になっています。

SQL Server 側のリースワーカーは、クラスターからのイベントシグナルを処理するためのスケジュールされた時間を取得しませんでした。

SQL Server リースワーカーが、サーバーの CPU 使用率を確認します。

19420

可用性グループ '%. * ls ' は、リースの更新を停止するように明示的に要求されています。

リース更新は、可用性グループをオフラインにするための一部として停止しています。 これは、情報提供のみを目的としています。

19421

可用性グループ '%. * ls ' と Windows Server フェールオーバークラスターの間のリースの更新に失敗しました。更新はリース期間内に行われなかったためです。

クラスター側のリースヘルパーが、SQL Server リースワーカーに時間を通知しませんでした。

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

19422

可用性グループ '%. * ls ' と Windows Server フェールオーバークラスターの間のリースの更新に失敗しました。 windows エラーのため、エラーコード ('% d ') が発生しました。

Windows エラーのため、SQL Server 側のリースワーカーがリースを更新できませんでした。

Windows のエラーコードを確認し、是正措置を取ります。

19423

可用性グループ '%. * ls ' のリースは有効ではなくなりました。リースの更新プロセスを開始できません。

リース作業が、オンライン通話によって提供された余分なリース時間の処理を開始した場合、リースは既に有効期限が切れています。 これは、スケジュールの問題が原因で発生した可能性があります。

SQL Server リースワーカーが、サーバーの CPU 使用率を確認します。

19424

可用性グループ '%. * ls ' のリースワーカーが、オンライン時に提供された余分なリース時間 (% u ミリ秒) をスリープしています。 これは情報メッセージだけです。 ユーザー操作は必要ありません。

情報. リース更新スレッドの開始、および可用性グループのオンラインルーチンの一部として、追加のオンライン時間が割り当てられています。

エラー19419の例: Sql server にアタッチするためにデバッガーを使っている場合は、sql server プロセスを再開するまで、SQL Server プロセス内のスレッドのサービスをすべて中断します。 SQL Server を再開すると、次のように SQL Server エラーログが報告されます。

<日付の時刻> サーバーエラー: 19419、レベル:16、状態: 1。 <日付の時刻> Windows Server フェールオーバークラスターは、リースタイムアウト期間内の可用性グループ ' ag ' をホストしている SQL Server からのプロセスイベントシグナルを受け取りませんでした。 <日付の時刻> サーバーエラー: 19407、レベル:16、状態: 1。 <日付の時刻> サーバー可用性グループ ' ag ' と Windows Server フェールオーバークラスター間のリースの有効期限が切れています。 SQL Server と Windows Server フェールオーバークラスターのインスタンス間で接続の問題が発生しました。 可用性グループが正常にフェールオーバーされているかどうかを判断するには、Windows Server フェールオーバークラスターで対応する可用性グループリソースを確認します。 <日付の時刻> Server AlwaysOn: リース期限切れまたはリース更新が失敗したために、可用性グループ ' ag ' のローカルレプリカがオフラインになります。 これは情報メッセージだけです。 ユーザー操作は必要ありません。 <日付の時刻> サーバー可用性グループ ' ag ' のローカルの可用性レプリカの状態が "PRIMARY_NORMAL" から "RESOLVING_NORMAL" に変更されました。 起動、フェールオーバー、通信の問題、またはクラスターエラーのため、レプリカの状態が変更されました。 詳細については、「可用性グループダッシュボード、SQL Server エラーログ、Windows Server フェールオーバークラスター管理コンソール、または Windows Server フェールオーバークラスターログ」を参照してください。

SQL Server がクラスターサービスに応答しなかったため、19419エラーが返されます。 また、19419エラーと共に、リースタイムアウトエラーメッセージ (19407) も表示されることがあります。エラー19424の例: 次に、可用性グループがプライマリロールに移行される直前に報告される余分なリース期間メッセージを示します。

<日付の時刻> サーバー可用性グループ ' ag ' のリースワーカーが、オンライン時に提供された余分なリース時間 (164766 ミリ秒) をスリープしています。 これは情報メッセージだけです。 ユーザー操作は必要ありません。 <日付の時刻> サーバー可用性グループ ' ag ' のローカルの可用性レプリカの状態が "PRIMARY_PENDING" から "PRIMARY_NORMAL" に変更されました。 起動、フェールオーバー、通信の問題、またはクラスターエラーのため、レプリカの状態が変更されました。 詳細については、「可用性グループダッシュボード、SQL Server エラーログ、Windows Server フェールオーバークラスター管理コンソール、または Windows Server フェールオーバークラスターログ」を参照してください。

Availability_group_lease_expiredとhadr_ag_lease_renewalの XEvents は改善され、リースの条件に関する詳細情報を提供するデータポイントが追加されました。 次の表では、これらの XEvents の改善点について説明します。

XEvent

新しい列

説明

availability_group_lease_expired

current_time

リース期限切れになった時刻

availability_group_lease_expired

new_timeout

タイムアウト時間。 availability_group_lease_expired が発生すると、current_time は new_timeout よりも大きくなります。

availability_group_lease_expired

リースステージ: 以下のリースステージの表をご覧ください。

hadr_ag_lease_renewal

hadr_ag_lease_renewal

hadr_ag_lease_renewal

error_code

状態が HadrLeaseRenewal_FailedWithWindowsError の場合は、エラーに関連付けられている Windows エラーコード error_code が表示されます。

リースのステージと定義次の表に、可能なリースステージの一覧とその機能について説明します。

ステージ名

説明

HadrLeaseRenewal_LeaseWorkerStarted

リースワーカースレッドが開始されました。

HadrLeaseRenewal_StartedExcessLeaseSleep

余分なリースを開始します。 過剰なリースステージは、可用性グループのオンラインフェーズでのリーススレッドの開始を記録します。

HadrLeaseRenewal_FailedExcessSleepInvalidOnlineLease

リースがすでに期限切れになっている場合は、余分なリースは失敗します。

HadrLeaseRenewal_SkipExcessSleep

スリープする期間がリース期間よりも小さい場合は、余分なリースをスキップします。 余分なリースを通過する必要はありません。手動でシェイク処理を開始するだけです。

HadrLeaseRenewal_ExcessSleepSucceeded

超過リースが成功しました。

HadrLeaseRenewal_RenewSucceeded

これは、すべての更新について確認する必要があります。

HadrLeaseRenewal_LeaseNotValid

エラー: 2017 419Windows Server フェールオーバークラスターは、リースタイムアウト期間内に可用性グループ '%. * ls ' をホストしている SQL Server からのプロセスイベントシグナルを受け取りませんでした。

HadrLeaseRenewal_StopLeaseRenewal

これは、フェールオーバーイベント中に表示されます。

HadrLeaseRenewal_LeaseExpired

エラー: 2017 421SQL Server ホスティング可用性グループ '%. * ls ' は、リースタイムアウト期間内に、Windows Server フェールオーバークラスターからプロセスイベントシグナルを受け取りませんでした。

HadrLeaseRenewal_FailedWithWindowsError

Windows エラーのため、リースの更新に失敗しました。

詳細については、「 AlwaysOn 可用性グループのリースタイムアウト診断を改善する」を参照してください。リースタイムアウトの詳細については、「 SQL Server AlwaysOn リースタイムアウト」を参照してください。

状態

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×