sp_article_validation (Transact-SQL)

適用対象: SQL Server Azure SQL Managed Instance

指定されたアーティクルに対する検証の要求を開始します。 このストアド プロシージャは、パブリッシャー側のパブリケーション データベースとサブスクリプション データベースのサブスクライバー側で実行されます。

Transact-SQL 構文表記規則

構文

sp_article_validation
    [ @publication = ] N'publication'
    , [ @article = ] N'article'
    [ , [ @rowcount_only = ] rowcount_only ]
    [ , [ @full_or_fast = ] full_or_fast ]
    [ , [ @shutdown_agent = ] shutdown_agent ]
    [ , [ @subscription_level = ] subscription_level ]
    [ , [ @reserved = ] reserved ]
    [ , [ @publisher = ] N'publisher' ]
[ ; ]

引数

[ @publication = ] N'publication'

アーティクルが存在するパブリケーションの名前。 @publicationsysname で、既定値はありません。

[ @article = ] N'article'

検証するアーティクルの名前。 @articlesysname で、既定値はありません。

[ @rowcount_only = ] rowcount_only

テーブルの行数のみを返すかどうかを指定します。 @rowcount_onlysmallint で、既定値は 1 です。

  • 0場合は、行数と SQL Server 7.0 互換チェックサムを実行します。
  • 1場合は、行数チェックのみを実行します。
  • 2場合は、行数とバイナリ チェックサムを実行します。

[ @full_or_fast = ] full_or_fast

行数の計算に使用するメソッド。 @full_or_fasttinyint で、次のいずれかの値を指定できます。

Value 説明
0 COUNT(*)を使用してフル カウントを実行します。
1 sysindexes.rowsから高速カウントを実行します。 sysindexes内の行のカウントは、実際のテーブル内の行をカウントするよりも高速です。 ただし、 sysindexes は遅延更新され、行数が正確でない可能性があります。
2 (既定) 最初に高速メソッドを試して、条件付き高速カウントを実行します。 高速メソッドが違いを示す場合は、完全なメソッドに戻ります。 expected_rowcountNULLされ、ストアド プロシージャが値の取得に使用されている場合は、常に完全なCOUNT(*)が使用されます。

[ @shutdown_agent = ] shutdown_agent

検証が完了した直後にディストリビューション エージェントをシャットダウンするかどうかを指定します。 @shutdown_agentbit で、既定値は 0 です。

  • 0場合、ディストリビューション エージェントはシャットダウンされません。
  • 1場合、ディストリビューション エージェントはアーティクルの検証後にシャットダウンされます。

[ @subscription_level = ] subscription_level

一部のサブスクライバーだけに検証を適用するかどうかを指定します。 @subscription_levelbit で、既定値は 0 です。

  • 0場合、検証はすべてのサブスクライバーに適用されます。
  • 1場合、検証は、現在開いているトランザクションのsp_marksubscriptionvalidationの呼び出しによって指定されたサブスクライバーのサブセットにのみ適用されます。

[ @reserved = ] 予約済み

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

[ @publisher = ] N'publisher'

SQL Server 以外のパブリッシャーを指定します。 @publishersysname で、既定値は NULL です。

@publisher は、SQL Server パブリッシャーで検証を要求するときに使用しないでください。

リターン コードの値

0 (成功) または 1 (失敗)。

解説

sp_article_validation はトランザクション レプリケーションで使用されます。

sp_article_validation では、指定したアーティクルで検証情報が収集され、検証要求がトランザクション ログに投稿されます。 ディストリビューション エージェントは、この要求を受け取ると、要求に含まれている検証の情報をサブスクライバー テーブルと比較します。 検証の結果は、レプリケーション モニターとSQL Server エージェントアラートに表示されます。

アクセス許可

検証対象のアーティクルのソース テーブルに対する SELECT ALL アクセス許可を持つユーザーのみが、 sp_article_validation実行できます。