AlwaysOn 可用性グループは、SQL Server 2014 CU5、SQL Server 2012 SP2 CU4、または SQL Server 2012 SP2 CU3 を適用した後に、同期されていないと報告される場合がある

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:3033492
現象

次のような状況を考えます。
  • ローリング アップグレードの一部として、可用性グループのセカンダリ レプリカをホストするサーバーで、Microsoft SQL Server 2014 または Microsoft SQL Server 2012 Service Pack 2 (SP2) を実行しています。
  • 以下の更新プログラムのいずれかを SQL Server のインストールに適用しています。
    • SQL Server 2014 の累積的な更新プログラム 5
    • SQL Server 2012 Service Pack 2 の累積的な更新プログラム 4
    • SQL Server 2012 Service Pack 2 の累積的な更新プログラム 3
    重要: この資料に記載されている修正プログラムによって、これらの累積的な更新プログラムは置き換えられます。これをまだ実行していない場合は、これらの更新プログラムをインストールしてはいけません。
  • 累積的な更新プログラムのインストールを完了するには、このセカンダリ レプリカを再起動します。
  • 更新されたセカンダリ レプリカをプライマリの役割に移行中の可用性グループをフェールオーバーするとします。
この状況では、可用性グループのプライマリ レプリカをホストしている SQL Server を実行中のサーバーで次の現象が 1 つまたは複数発生する可能性があります。
  • セカンダリ レプリカは、"同期されていません" と報告されます。
  • sys.dm_exec_requests に対してクエリを実行すると、ユーザー セッションと、“DB_STARTUP” としてコマンドが出力されるセッションの間に、継続的なロックのブロッキングが発生します。また、 CHECKPOINT コマンドと DB_STARTUP のコマンドの間でブロックが発生することもあります。
  • いずれかの可用性データベースを回復したセッションを含むデッドロックは、SQL Server エラー ログで報告されます。これらのログは次のようになります。

    <date/time> spid<xx> Recovery is writing a checkpoint in database <dbname/dbid>. This isan informational message only. No user action is required.<date/time> spid<xx> Recovery completed for database <dbname/dbid> in <x> second(s) (analysis<x> ms, redo <x> ms, undo <x> ms.) This is an informational message only. No user action is required.…<date/time> spid<xx> Error: 1205, Severity: 13, State: 28.<date/time> spid<xx> Transaction (Process ID <xx>) was deadlocked on lock resources with anotherprocess and has been chosen as the deadlock victim. Rerun the transaction.
  • Microsoft SQL Server Service Broker の可用性データベースが有効である場合、可用性データベース内のメッセージが正常に処理されないことがあります。プロファイラのトレース ツールを起動してから、"Broker:Message Classify" イベントをキャプチャすると、次のイベントがキャプチャされます。

    9791、ブローカは送信側のデータベースで無効になる
注: <b>これは体系的な問題ではありません。この問題が発生しなくても AlwaysOn 構成でこれらの累積的な更新プログラムを適用できる場合があります。これらの累積的な更新プログラムが既に適用されており、ユーザーがこの問題に気づいていない場合、システムは影響を受けないため、この情報は不要です。
原因
この問題は、システムのスレッドとユーザーの接続の間でときどき競合が発生することが原因で発生します。これにより、累積的な更新プログラムの修正プログラムのロジックが、更新プロセスを完了するのに必要なロックを取得できなくなります。
解決方法
この問題を解決するには、次のように適用します。 重大なオンデマンド (COD) 修正プログラム:

3034679 修正: AlwaysOn 可用性グループは同期するいないと報告する可能性があります。

重要: 次の累積的な更新プログラムではなく、COD 修正プログラムを適用する必要があります。
  • SQL Server 2014 の累積的な更新プログラム 5
  • SQL Server 2012 Service Pack 2 の累積的な更新プログラム 4
  • SQL Server 2012 Service Pack 2 の累積的な更新プログラム 3


注: <b>これらの累積的な更新プログラムが既に適用されている場合、この問題を解決するには、次の回避策を使用する必要があります。
回避策
この問題は、ユーザーのセッションと、プライマリの役割へのデータベース移行時に可用性データベースで発生する更新セッションの間の競合により発生しているため、この競合を排除し、データベースを有効にして、この状態から回復する必要があります。

この問題を回避するには、以下の手順を実行します。
  1. 指定された順番に、以下の方法を試してみます。
    方法 1: データベースへのアクセスを排除する
    データベースで「現象」セクションに記載されている現象が発生している場合、必要に応じて以下のいずれかまたは両方の手順を使用して、ロックブロッキングの状態を解消します。
    • クエリ sys.dm_exec_requests 可用性データベースでどのロックでブロックが発生したセッションを探します。使用して、 強制終了します。 これらのセッションを終了するステートメントです。
    • 無効にするか、可用性データベースにアクセスしているアプリケーションを停止します。

    方法 1 で問題が解決しない場合は、方法 2 に進みます。


    方法 2: SQL Server のホスト サーバーを再起動する
    アプリケーションのアクセスとユーザーのアクセスが引き続き無効である場合、影響を受けた可用性データベースをホストしている SQL Server のインスタンスを再起動します。これを行うには、以下の手順を実行します。
    1. 可用性グループの自動フェールオーバーを無効にします。
    2. プライマリ レプリカをホストしている SQL Server の影響を受けたインスタンスを再起動します。
    3. 可用性グループの自動フェイル オーバーを有効にします。
  2. 影響を受けたデータベースを完全に回復した後は、アプリケーションとユーザーの接続を再確立します。
状況
マイクロソフトは、この問題を「対象製品」セクションに記載されているマイクロソフト製品の問題として認識しています。

関連情報
この問題の影響を受ける累積的な更新プログラムの詳細については、以下のマイクロソフト サポート技術情報を参照してください。

警告: この記事は自動翻訳されています

プロパティ

文書番号:3033492 - 最終更新日: 11/14/2015 04:45:00 - リビジョン: 4.0

Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise Core, Microsoft SQL Server 2012 Service Pack 2, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise Core

  • kbsurveytest kbexpertiseadvanced kbmt KB3033492 KbMtja
フィードバック