將當(dāng)前打開(kāi)的事務(wù)標(biāo)記為指定訂閱服務(wù)器的訂閱級(jí)驗(yàn)證事務(wù)。必須與 sp_article_validation 一起使用,并使 @subscription_level 等于 1。還可以和其它對(duì) sp_marksubscriptionvalidation 的調(diào)用一起使用,為其它訂閱服務(wù)器標(biāo)記當(dāng)前打開(kāi)的事務(wù)。此存儲(chǔ)過(guò)程在發(fā)布服務(wù)器的發(fā)布數(shù)據(jù)庫(kù)上執(zhí)行。
sp_marksubscriptionvalidation [ @publication = ] 'publication'
, [ @subscriber = ] 'subscriber'
, [ @destination_db = ] 'destination_db'
[@publication =] 'publication'
是發(fā)布名。Publication 的數(shù)據(jù)類(lèi)型為 sysname,無(wú)默認(rèn)值。
[@subscriber = ] 'subscriber'
是訂閱服務(wù)器名稱。subscriber 的數(shù)據(jù)類(lèi)型為 sysname,無(wú)默認(rèn)值。
[@destination_db =] 'destination_db'
是目的數(shù)據(jù)庫(kù)名。destination_db 的數(shù)據(jù)類(lèi)型為 sysname,無(wú)默認(rèn)值。
0(成功)或 1(失?。?/P>
sp_marksubscriptionvalidation
用于所有類(lèi)型的復(fù)制。此存儲(chǔ)過(guò)程不支持異類(lèi)訂閱服務(wù)器。
只有 sysadmin 固定服務(wù)器角色成員或 db_owner 固定數(shù)據(jù)庫(kù)角色成員才能執(zhí)行 sp_marksubscriptionvalidation。
下面的查詢可應(yīng)用到發(fā)布數(shù)據(jù)庫(kù),以發(fā)布訂閱級(jí)驗(yàn)證命令。下列命令將由指定的訂閱服務(wù)器的分發(fā)代理程序挑選。
begin tran
exec sp_marksubscriptionvalidation @publication = 'pub1',
@subscriber = 'Sub', @destination_db = 'SubDB'
exec sp_marksubscriptionvalidation @publication = 'pub1',
@subscriber = 'Sub2', @destination_db = 'SubDB'
exec sp_article_validation @publication = 'pub1', @article = 'art1',
@rowcount_only = 0, @full_or_fast = 0, @shutdown_agent = 0,
@subscription_level = 1
commit tran
begin tran
exec sp_marksubscriptionvalidation @publication = 'pub1',
@subscriber = 'Sub', @destination_db = 'SubDB'
exec sp_marksubscriptionvalidation @publication = 'pub1',
@subscriber = 'Sub2', @destination_db = 'SubDB'
exec sp_article_validation @publication = 'pub1', @article = 'art2',
@rowcount_only = 0, @full_or_fast = 0, @shutdown_agent = 0,
@subscription_level = 1
commit tran
請(qǐng)注意,第一個(gè)事務(wù)驗(yàn)證項(xiàng)目"art1",而第二個(gè)事務(wù)驗(yàn)證"art2"。還請(qǐng)注意,已把對(duì) sp_marksubscriptionvalidation 和 sp_articlevalidation 的調(diào)用封裝進(jìn)了事務(wù)中。建議每個(gè)事務(wù)只調(diào)用一次 sp_articlevalidation。這是因?yàn)樵谑聞?wù)的生存周期內(nèi),sp_article_validation 在源表上控制一個(gè)共享表鎖。應(yīng)盡量縮短事務(wù)以使并發(fā)最大化。
相關(guān)文章