允許管理員清理 MSmerge_contents 和 MSmerge_tombstone 系統(tǒng)表中的元數(shù)據(jù)。此存儲過程在發(fā)布服務(wù)器的發(fā)布數(shù)據(jù)庫上執(zhí)行。
sp_mergecleanupmetadata [ [ @publication = ] 'publication' ]
[ , [ @reinitialize_subscriber = ] 'reinitialize_subscriber' ]
[@publication =] 'publication'
是發(fā)布名。publication 的數(shù)據(jù)類型為 sysname,默認值為 %,表示將返回所有發(fā)布的信息。如果顯式指定發(fā)布,則此發(fā)布必須已存在。
[@reinitialize_subscriber =] 'subscriber'
指定是否重新初始化訂閱服務(wù)器。reinitialize_subscriber 的數(shù)據(jù)類型為 nvarchar(5),可以是 true 或 false,默認值為 TRUE。如果為 true,則訂閱標記為重新初始化。如果為 false,則訂閱不標記為重新初始化。
0(成功)或 1(失?。?/P>
sp_mergecleanupmetadata 用于合并復制,并使管理員得以清除 MSmerge_contents 和 MSmerge_tombstone 系統(tǒng)表中的元數(shù)據(jù)。盡管這些表可以無限擴展,但在某些情形下清理其中的元數(shù)據(jù)可提高合并性能。此過程通過壓縮發(fā)布服務(wù)器和訂閱服務(wù)器中上述表的大小以節(jié)省空間。
默認情況下,@reinitialize_subscriber 參數(shù)設(shè)置為 true,而所有的訂閱都標記為重新初始化。如果將參數(shù) @reinitialize_subscriber 設(shè)置為 false,則訂閱不標記為重新初始化。將參數(shù)設(shè)置為 false 時必須慎重,因為如果選擇不對訂閱進行重新初始化,則必須確保發(fā)布服務(wù)器與訂閱服務(wù)器上的數(shù)據(jù)同步。
在沒有將訂閱標記為重新初始化時,若要運行 sp_mergecleanupmetadata,需執(zhí)行以下步驟:
運行此存儲過程時,請注意在運行此存儲過程的計算機上,日志文件不得已而且有可能增長得很大。
重要 運行了合并元數(shù)據(jù)清除后應(yīng)執(zhí)行發(fā)布數(shù)據(jù)庫的備份。如果沒有這樣做,會在發(fā)布數(shù)據(jù)庫還原后導致合并失敗。
如果有正在進行的合并進程,而該進程在喚醒調(diào)用此存儲過程時正在嘗試向發(fā)布服務(wù)器上載更改,則 sp_mergecleanupmetadata 將失敗。嘗試僅當包括連續(xù)模式合并在內(nèi)的所有合并都已完成時才運行此存儲過程。
管理員可以停用發(fā)布并在合并清除完成后重新激活它。下面是示例代碼,說明管理員如何完成此任務(wù)。
EXEC central..sp_changemergepublication @publication = 'dynpart_pubn', @property = 'status', @value = 'inactive'
EXEC central..sp_mergecleanupmetadata @publication = 'dynpart_pubn', @reinitialize_subscriber = 'false'
EXEC central..sp_changemergepublication @publication = 'dynpart_pubn', @property = 'status', @value = 'active'
如果將合并清除傳播到作為再次發(fā)布者的訂閱服務(wù)器,而此再次發(fā)布者還未激活,則將返回一個錯誤,說明由于存在正在進行的合并進程,不能在再次發(fā)布者上執(zhí)行元數(shù)據(jù)的清除。
只有 sysadmin 固定服務(wù)器角色成員或 db_owner 固定數(shù)據(jù)庫角色成員才能執(zhí)行 sp_mergesubscription。
若要使用此存儲過程,發(fā)布服務(wù)器必須運行 Microsoft® SQL Server™ 2000。訂閱服務(wù)器必須運行 Microsoft SQL Server 2000 或 Microsoft SQL Server 7.0 Service Pack 2。
相關(guān)文章