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
(失敗)。
備註
如果資料庫中有多個發行集,而且其中任何一個發行集都會使用無限的發行集保留期間,則執行 sp_mergemetadataretentioncleanup
不會清除資料庫的合併式復寫變更追蹤元數據。 因此,請謹慎使用無限的發行集保留。 若要判斷發行集是否有無限保留期間,請在發行者端執行 sp_helpmergepublication ,並記下結果集中具有的值 0
為 retention
的任何發行集。
權限
只有已發行資料庫的發行集存取清單中db_owner固定資料庫角色或使用者的成員可以執行 sp_mergemetadataretentioncleanup
。