sp_article_validation (Transact-SQL)
起始指定發行項的資料驗證要求。 這個預存程序執行於發行集資料庫的發行者端,以及訂閱資料庫的訂閱者端。
語法
sp_article_validation [ @publication = ] 'publication'
[ , [ @article = ] 'article' ]
[ , [ @rowcount_only = ] type_of_check_requested ]
[ , [ @full_or_fast = ] full_or_fast ]
[ , [ @shutdown_agent = ] shutdown_agent ]
[ , [ @subscription_level = ] subscription_level ]
[ , [ @reserved = ] reserved ]
[ , [ @publisher = ] 'publisher' ]
引數
[ @publication=] 'publication'
這是發行項所在發行集的名稱。 publication 是 sysname,沒有預設值。[ @article=] 'article'
這是要驗證的發行項名稱。 article 是 sysname,沒有預設值。[ @rowcount_only=] type_of_check_requested
指定是否只傳回資料表的資料列計數。 type_of_check_requested 是 smallint,預設值是 1。如果是 0,則執行資料列計數和 Microsoft SQL Server 7.0 相容總和檢查碼。
如果是 1,則只執行資料列計數檢查。
如果是 2,則執行資料列計數和二進位總和檢查碼。
[ @full_or_fast=] full_or_fast
這是用於計算資料列計數的方法。 full_or_fast 是 tinyint,而且可以是下列其中一個值。值
說明
0
利用 COUNT(*) 執行完整計數。
1
從 sysindexes.rows 執行快速計數。 計算 sysindexes 中的資料列,比計算實際資料表中的資料列快。 不過,sysindexes 是以延遲的方式更新,資料列計數可能會不準確。
2 (預設值)
先嘗試快速方法來執行條件式快速計數。 如果快速方法有不同結果,便轉換成完整方法。 如果 expected_rowcount 是 NULL,且利用這個預存程序來取得值,就一律會使用完整的 COUNT(*)。
[ @shutdown_agent=] shutdown_agent
指定在驗證完成時,是否應該立即關閉散發代理程式。 shutdown_agent 是 bit,預設值是 0。 如果是 0,散發代理程式便不會關閉。 如果是 1,散發代理程式會在驗證發行項之後關閉。[ @subscription_level=] subscription_level
指定是否由一組訂閱者來收取驗證。 subscription_level 是 bit,預設值是 0。 如果是 0,就會將驗證套用於所有訂閱者。 如果是 1,只會將驗證套用於在目前開啟交易中呼叫 sp_marksubscriptionvalidation 所指定的訂閱者子集。[ @reserved=] reserved
僅供參考之用。不支援。我們無法保證未來的相容性。[ @publisher= ] 'publisher'
指定非 Microsoft SQL Server 發行者。 publisher 是 sysname,預設值是 NULL。[!附註]
當在 SQL Server 發行者上要求進行驗證時,不應使用 publisher。
傳回碼值
0 (成功) 或 1 (失敗)
備註
sp_article_validation 用於異動複寫中。
sp_article_validation 會造成在指定的發行項上收集驗證資訊,以及將驗證要求公佈到交易記錄中。 當散發代理程式收到這個要求時,散發代理程式會比較要求中的驗證資訊與訂閱者資料表。 驗證結果會顯示在複寫監視器和 SQL Server Agent 警示中。
權限
只有具備發行項來源資料表之 SELECT ALL 權限的使用者可以執行 sp_article_validation。
請參閱
參考
sp_marksubscriptionvalidation (Transact-SQL)
sp_publication_validation (Transact-SQL)
sp_table_validation (Transact-SQL)