次の方法で共有


sp_mergemetadataretentioncleanup (Transact-SQL)

適用対象: SQL Server

MSmerge_genhistoryMSmerge_contentsMSmerge_tombstoneMSmerge_past_partition_mappings、およびMSmerge_current_partition_mappingsシステム テーブルのメタデータの手動クリーンアップを実行します。 このストアド プロシージャは、トポロジ内の各パブリッシャーおよびサブスクライバーで実行されます。

Transact-SQL 構文表記規則

構文

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を実行できます。