sp_mergemetadataretentioncleanup (Transact-SQL)
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 で、既定値は 0 です。
- [ @num_contents_rows= ] num_contents_rows OUTPUT
MSmerge_contents テーブルからクリーンアップされた行数を返します。num_contents_rows のデータ型は int で、既定値は 0 です。
- [ @num_tombstone_rows= ] num_tombstone_rows OUTPUT
MSmerge_tombstone テーブルからクリーンアップされた行数を返します。num_tombstone_rows のデータ型は int で、既定値は 0 です。
- [ @aggressive_cleanup_only= ] aggressive_cleanup_only
内部使用のみです。
解説
メタデータのクリーンアップの詳細については、「マージ レプリケーションの動作方法」を参照してください。
重要 : |
---|
データベースに複数のパブリケーションが存在し、それらのパブリケーションのいずれかが無期限のパブリケーション保有期間を使用している場合、sp_mergemetadataretentioncleanup を実行しても、マージ レプリケーションでのデータベース用メタデータの変更の追跡はクリーンアップされません。このため、無期限のパブリケーション保有期間は注意して使用してください。パブリケーションに無期限の保有期間があるかどうかを判定するには、パブリッシャ側で sp_helpmergepublication (Transact-SQL) を実行し、retention の値が 0 の結果セットのパブリケーションに注意してください。 |
権限
sp_mergemetadataretentioncleanup を実行できるのは、固定データベース ロール db_owner のメンバまたはパブリッシュされたデータベースのパブリケーション アクセス リストのユーザーだけです。
戻り値
成功した場合は 0 を、失敗した場合は 1 をそれぞれ返します。
参照
関連項目
システム ストアド プロシージャ (Transact-SQL)