sp_showpendingchanges (Transact-SQL)

レプリケート待ちの変更を示す結果セットを返します。 このストアド プロシージャは、パブリッシャー側でパブリケーション データベースについて、およびサブスクライバー側でサブスクリプション データベースについて実行されます。

トピック リンク アイコン Transact-SQL 構文表記規則

注意

このプロシージャでは、変更の概数と、その変更に関係する行が提供されます。 たとえば、プロシージャは、パブリッシャーまたはサブスクライバーから情報を取得しますが、同時に両方の情報を取得しません。 他のノードに格納されている情報によって、同期する一連の変更はプロシージャで推定されるよりも少なくなる可能性があります。

構文

sp_showpendingchanges [ [ @destination_server = ] 'destination_server' ]
    [ , [ @publication = ] 'publication' ]
    [ , [ @article = ] 'article']
    [ , [ @show_rows = ] show_rows]

引数

  • [ @destination\_server**=** ] 'destination_server'
    レプリケートされた変更が適用されるサーバーの名前を指定します。 destination_server のデータ型は sysname で、既定値は NULL です。

  • [ @publication**=** ] 'publication'
    パブリケーションの名前です。 publication のデータ型は sysname で、既定値は NULL です。 publication を指定した場合は、指定したパブリケーションのみが結果に含まれます。

  • [ @article = ] 'article'
    アーティクルの名前を指定します。 article のデータ型は sysname で、既定値は NULL です。 article を指定した場合は、指定したアーティクルのみが結果に含まれます。

  • [ @show\_rows = ] show_rows
    結果セットに保留中の変更の詳細を含めるかどうかを指定します。既定値は 0 です。 値 1 を指定した場合は、is_delete 列と rowguid 列が結果セットに含まれます。

結果セット

列名

データ型

説明

destination_server

sysname

変更がレプリケートされているサーバーの名前です。

pub_name

sysname

パブリケーションの名前です。

destination_db_name

sysname

変更がレプリケートされているデータベースの名前です。

is_dest_subscriber

bit

変更がサブスクライバーにレプリケートされていることを示します。 値 1 は、変更がサブスクライバーにレプリケートされていることを示します。 0 は、変更がパブリッシャーにレプリケートされていることを示します。

article_name

sysname

変更が行われたテーブルのアーティクルの名前です。

pending_deletes

int

レプリケートされるのを待機している削除の数です。

pending_ins_and_upd

int

レプリケートされるのを待機している挿入と更新の数です。

is_delete

bit

保留中の変更が削除かどうかを示します。 値が 1 の場合は、変更が削除であることを示します。 @show_rows の値が 1 であることが必要です。

rowguid

uniqueidentifier

変更された行を識別する GUID です。 @show_rows の値が 1 であることが必要です。

リターン コードの値

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

説明

sp_showpendingchanges はマージ レプリケーションで使用します。

sp_showpendingchanges は、マージ レプリケーションのトラブルシューティングを行うときに使用します。

sp_showpendingchanges の結果には、生成が 0 の行は含まれません。

article で指定されているアーティクルが、publication, で指定されているパブリケーションに属していない場合、pending_deletes および pending_ins_and_upd に対して 0 のカウントが返されます。

権限

sp_showpendingchanges を実行できるのは、sysadmin 固定サーバー ロールまたは db_owner 固定データベース ロールのメンバーだけです。

関連項目

参照

レプリケーション ストアド プロシージャ (Transact-SQL)