Share via


sp_mergemetadataretentionクリーンup (Transact-SQL)

適用対象:SQL Server

MSmerge_genhistory、MSmerge_contents、MSmerge_tombstone、MSmerge_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_クリーンup_only

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

リターン コードの値

0 (成功) または 1 (失敗)。

解説

1 つのデータベースに複数のパブリケーションがあり、それらのパブリケーションのいずれかが無限のパブリケーション保有期間を使用している場合、実行sp_mergemetadataretentioncleanupしても、データベースのマージ レプリケーション変更追跡メタデータはクリーンされません。 このため、無期限のパブリケーション保有期間は注意して使用してください。 パブリケーションの保持期間が無限かどうかを判断するには、パブリッシャーで sp_helpmergepublication (Transact-SQL) を実行し、結果セット内のパブリケーションの値が > の値0retentionをメモします。

アクセス許可

db_owner固定データベース ロールのメンバー、またはパブリッシュされたデータベースのパブリケーション アクセス リスト内のユーザーのみが実行sp_mergemetadataretentioncleanupできます。