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