新規にレプリケーションを構成した際、各T-SQLまたはウィザード上の操作はエラー無く実行できたもののレプリケーションモニターを開くとエラーが発生している場合があります。
今回はそのうちの一つ、以下エラーメッセージが表示された場合の対処法について記載します。
The process could not execute ‘sp_MSadd_replcmds’ on ‘[SQL MIのFQDN]’.
Could not complete setting up the no-sync subscription at the Distributor while the distribution cleanup agent is running. The operation has a greater chance of success if the distribution cleanup agent is temporarily disabled.
まずエラーの原因としては、既存のディストリビューションクリーンアップジョブと新規のレプリケーションジョブのセッションが競合し、新規のレプリケーションジョブセッションにてデータインサートをする際のロックが獲得できなかったことが考えられます。
(そのためこのエラーはディストリビューションクリーンアップジョブが実行中の間にレプリケーションを構成すると発生する可能性があるということです)
そして対処策ですが、
・ディストリビューションクリーンアップジョブを停止・無効化し、一定の間状況を確認する
ということをまずはお試しいただければと思います。
無事エラーが解消されたらジョブを有効化に戻します。
※ディストリビューションクリーンアップジョブは、SQL Server Management Studioの「SQL Serverエージェント\ジョブ」内にあり、既定だと「Distribution clean up: [Distribution DB名]」となります。
※ジョブの停止・無効化をせずに一定の間待機しディストリビューションクリーンアップジョブの実行が終了すると、自然にエラーの解消が見込めるかと思います
なお、当該レプリケーションジョブのログリーダーエージェントジョブについて、再試行の制限回数を超えてしまった場合ジョブが停止している可能性があります。
その際はジョブを再度起動し状況をご確認ください。