適用対象:SQL Server
MSmerge_genhistory、MSmerge_contents、MSmerge_tombstone、MSmerge_past_partition_mappings、およびMSmerge_current_partition_mappingsシステム テーブルのメタデータの手動クリーンアップを実行します。 このストアド プロシージャは、トポロジ内の各パブリッシャーおよびサブスクライバーで実行されます。
構文
sys.sp_mergemetadataretentioncleanup
[ [ @num_genhistory_rows = ] num_genhistory_rows OUTPUT ]
[ , [ @num_contents_rows = ] num_contents_rows OUTPUT ]
[ , [ @num_tombstone_rows = ] num_tombstone_rows OUTPUT ]
[ , [ @aggressive_cleanup_only = ] aggressive_cleanup_only ]
[ ; ]
引数
[ @num_genhistory_rows = ] num_genhistory_rows 出力
MSmerge_genhistory テーブルからクリーンアップされた行の数を返します。
@num_genhistory_rows は型intの OUTPUT パラメータで、デフォルトは 0 です。
[ @num_contents_rows = ] num_contents_rows 出力
MSmerge_contents テーブルからクリーンアップされた行の数を返します。
@num_contents_rowsは型intのOUTPUTパラメータで、デフォルトは0
[ @num_tombstone_rows = ] num_tombstone_rows 出力
MSmerge_tombstone テーブルからクリーンアップされた行の数を返します。
@num_tombstone_rowsはint型のOUTPUTパラメータで、デフォルトは0です。
[ @aggressive_cleanup_only = ] aggressive_cleanup_only
単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。
リターン コードの値
0 (成功) または 1 (失敗)。
解説
1 つのデータベースに複数のパブリケーションがあり、それらのパブリケーションのいずれかが無限のパブリケーション保有期間を使用している場合、 sp_mergemetadataretentioncleanup 実行しても、データベースのマージ レプリケーション変更追跡メタデータはクリーンアップされません。 このため、無期限のパブリケーション保有期間は注意して使用してください。 パブリケーションに無限の保持期間があるかどうかを判断するには、パブリッシャーでsp_helpmergepublicationを実行し、結果セット内のすべてのパブリケーションを0の値retentionメモします。
アクセス許可
db_owner固定データベース ロールのメンバー、またはパブリッシュされたデータベースのパブリケーション アクセス リスト内のユーザーのみが、sp_mergemetadataretentioncleanupを実行できます。