本連載では、「Microsoft SQL Server(以下、SQL Server)」で発生するトラブルについて、「なぜ起こったか」の理由とともに具体的な対処方法を紹介していきます。今回は「セカンダリが停止したらレプリケーションが配信されなくなった」場合の解決方法を解説します。
本連載では、「Microsoft SQL Server(以下、SQL Server)」で発生するトラブルについて、「なぜ起こったか」の理由とともに具体的な対処方法を紹介していきます。
「Windows Server 2012 R2」上に「SQL Server 2016 RTM」をインストールした環境を想定して解説します(本トラブルシューティングの対応バージョン:SQL Server 全バージョン)。
トラブルの実例:一部のデータをさまざまなデータベースに配信するため、可用性グループを構成したデータベースをパブリケーションとしてトランザクションレプリケーションの環境を構築した。
ある日、可用性グループのセカンダリレプリカがハードウェア障害により停止してしまった。セカンダリレプリカの障害であるため、可用性が低下しただけと少し安心していたが、しばらくするとレプリケーションが正常に配信されていないとの連絡を受けた。レプリケーションモニターを確認してみたが、正常に動いているように見える(図1)。
レプリケーションモニターを使用して調査を進めると、ログリーダーエージェントの履歴に「レプリケートされたトランザクションは、次のログ バックアップまたはミラーリング パートナーが遅延を解消するのを待機しています」というメッセージが記録されていました(図2)。
可用性グループやミラーリングが構成されているデータベースをログリーダーエージェントが読み取る場合、セカンダリレプリカやミラーリングパートナーとの同期が完了しているものしか読み取りができません。
Copyright © ITmedia, Inc. All Rights Reserved.