sp_marksubscriptionvalidation (Transact-SQL)
適用於:SQL Server
將目前開啟的交易標示為指定訂閱者的訂閱層級驗證交易。 這個預存程式會在發行集資料庫的發行者端執行。
語法
sp_marksubscriptionvalidation [ @publication = ] 'publication'
, [ @subscriber = ] 'subscriber'
, [ @destination_db = ] 'destination_db'
[ , [ @publisher = ] 'publisher' ]
引數
[ @publication = ] 'publication'
這是發行集的名稱。 publication 是 sysname ,沒有預設值。
[ @subscriber = ] 'subscriber'
這是訂閱者的名稱。 subscriber 是 sysname,沒有預設值。
[ @destination_db = ] 'destination_db'
這是目的地資料庫的名稱。 destination_db 為 sysname ,沒有預設值。
[ @publisher = ] 'publisher'
指定非 Microsoft SQL Server 發行者。 publisher 是 sysname ,預設值為 Null。
注意
發行者 不應該用於屬於 SQL Server 發行者的發行集。
傳回碼值
0 (成功) 或 1 (失敗)
備註
sp_marksubscriptionvalidation用於異動複寫。
sp_marksubscriptionvalidation 不支援非 SQL Server 訂閱者。
針對非 SQL Server 發行者,您無法從明確交易內執行 sp_marksubscriptionvalidation 。 這是因為透過用來存取發行者的連結伺服器連接不支援明確交易。
sp_marksubscriptionvalidation 必須與 sp_article_validation (Transact-SQL) 搭配 使用,為 subscription_level 指定值為 1 ,而且可以與其他呼叫 搭配使用,以sp_marksubscriptionvalidation 標記其他訂閱者的目前開啟交易。
權限
只有系統管理員 固定伺服器角色或 db_owner 固定資料庫角色的成員 才能執行 sp_marksubscriptionvalidation 。
範例
下列查詢可以套用至發佈資料庫,以張貼訂閱層級驗證命令。 這些命令是由指定訂閱者的散發代理程式所挑選。 請注意,第一筆交易會驗證發行項 ' art1 ',而第二筆交易則會驗證 ' art2 '。 另請注意,對 sp_marksubscriptionvalidation 和 sp_article_validation (Transact-SQL) 的呼叫 已封裝在交易中。 我們建議每筆交易只呼叫 一次sp_article_validation (Transact-SQL)。 這是因為 sp_article_validation (Transact-SQL) 會在交易期間保留來源資料表的共用資料表鎖定。 您應該讓交易保持簡短,以將平行存取最大化。
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
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將推出:在 2024 年,我們將隨著內容的意見反應機制逐步淘汰 GitHub 問題,並以新的意見反應系統來取代。 如需詳細資訊,請參閱提交並檢視相關的意見反應