この記事は更新から24ヶ月以上経過しているため、最新の情報を別途確認することを推奨いたします。
二つのSQL Managed Instance(以下SQL MI)間でトランザクションレプリケーションを構成した際、サブスクライバー側のSQL MIからサブスクリプションの同期状態を確認しようとすると以下のようなエラーが表示されることがあります。
これは複数のパブリケーションでディストリビューションエージェントを共有しているために、サブスクライバー側のSQL MIから同期状態等を確認できないことを示しています。そのためエラー自体は仕様上期待通りの出力であり、レプリケーションにおいて何か問題が発生していることを示すものではありません。
サブスクリプションの同期状態はパブリッシャー側から確認することができます。しかし「サブスクライバー側で確認したい」「エラーが表示されるのは気になる」といった場合、ディストリビューションエージェントを複数のパブリケーションで共有しないよう構成を変更することで対処可能です。
具体的には、パブリケーション内のプロパティの「独立したディストリビューションエージェント」を「TRUE」となるよう構成し直す必要があります。
再構成する際、構成手順「8 – Create publication and subscriber」内のパブリケーションを作成する 「sp_addpublication」 のオプションとして 「independent_agent」 に 「TRUE」 を指定します。
— Create your publication
EXEC sp_addpublication
@publication = N’$(publication_name)’,
@status = N’active’,
@independent_agent = N’TRUE’;
これにより、パブリケーションのプロパティ「独立したディストリビューションエージェント」を「TRUE」として構成することが可能となります。