回答:
これは通常、セキュリティ上の理由でxp_cmdshellの権限が変更された問題です。SQL Agentアカウントにレプリケーションフォルダーからデータを削除するために必要なネットワーク権限がない場合にも、この問題が発生する可能性があります。
xp_cmdshellが有効になっており、xp_cmdshellを実行するアカウントに適切な権限があることを確認してください。
USE master
GO
EXEC sp_configure 'show advanced option', '1';
reconfigure;
GO
exec sp_configure 'xp_cmdshell';
出力は次のとおりです。
name minimum maximum config_value run_value
xp_cmdshell 0 1 1 1
私の経験では、スナップショットフォルダーの保持は次のように機能します。
匿名サブスクライバーがそのパブリケーションに対して有効になっておらず、すべてのサブスクライバーがスナップショットを消費している場合、クリーンアップエージェントの次の実行でスナップショットが削除されます。
匿名サブスクライバーが有効で、配布保持期間が経過した場合、クリーンアップエージェントの次の実行でスナップショットが削除されます。
スナップショットを2か月間保持する状況では、匿名サブスクリプションを許可し、可能であればディストリビューションの保持を2か月に設定することでこれを実現できます。
ディストリビューションデータベースがトランザクションレプリケーションにも使用されている場合、ディストリビューションデータベースが大きく成長する可能性があります。
お役に立てれば、
マット
これを試して:
レプリケーションモニターのプロパティに移動し(レプリケーションモニター->プロパティを右クリック)、そこに履歴保持期間が表示されます。そこで設定できるはずです。