sp_article_validation (Transact-SQL)
適用対象: SQL Server Azure SQL Managed Instance
指定されたアーティクルに対する検証の要求を開始します。 このストアド プロシージャは、パブリッシャー側のパブリケーション データベースとサブスクリプション データベースのサブスクライバー側で実行されます。
構文
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 互換チェックサムを実行します。1
場合は、行数チェックのみを実行します。2
場合は、行数とバイナリ チェックサムを実行します。
[ @full_or_fast = ] full_or_fast
行数の計算に使用するメソッド。 @full_or_fast は tinyint で、次のいずれかの値を指定できます。
Value | 説明 |
---|---|
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 = ] 予約済み
単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。
[ @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
実行できます。