sp_article_validation (Transact-SQL)

適用対象: SQL ServerAzure 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'

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

[ @article = ] N'article'

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

[ @rowcount_only = ] rowcount_only

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

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

[ @full_or_fast = ] full_or_fast

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

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

[ @shutdown_agent = ] shutdown_agent

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

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

[ @subscription_level = ] subscription_level

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

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

[ @reserved = ] 予約済み

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

[ @publisher = ] N'publisher'

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

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

リターン コードの値

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

解説

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

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

アクセス許可

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