sp_mergemetadataretentioncleanup (Transact-SQL)

執行 MSmerge_genhistoryMSmerge_contentsMSmerge_tombstoneMSmerge_past_partition_mappingsMSmerge_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_rowsint,預設值是 0
  • [ @num_contents_rows= ] num_contents_rows OUTPUT
    傳回 MSmerge_contents 資料表中已清除的資料列數。num_contents_rowsint,預設值是 0
  • [ @num_tombstone_rows= ] num_tombstone_rows OUTPUT
    傳回 MSmerge_tombstone 資料表中已清除的資料列數。num_tombstone_rowsint,預設值是 0
  • [ @aggressive_cleanup_only= ] aggressive_cleanup_only
    僅供內部使用。

傳回碼值

0 (成功) 或 1 (失敗)

備註

如需有關清除中繼資料的詳細資訊,請參閱<合併式複寫的運作方式>。

ms178557.note(zh-tw,SQL.90).gif重要事項:
如果一個資料庫上有多個發行集,而且任何一個發行集都會使用無限期的發行保留期限,則執行 sp_mergemetadataretentioncleanup 並不會清除追蹤資料庫中繼資料的合併式複寫變更。因此,在使用無限期的發行期限時,一定要特別小心。若要判斷發行集是否採用無限期的保留期限,請在發行者端執行 sp_helpmergepublication (Transact-SQL),並且注意結果集當中,是否有任何發行集的值,是代表 0retention 值。

權限

只有 db_owner 固定資料庫角色的成員,或是已發行之資料庫的發行集存取清單中的使用者,才能夠執行 sp_mergemetadataretentioncleanup

請參閱

參考

系統預存程序 (Transact-SQL)

說明及資訊

取得 SQL Server 2005 協助