sp_showpendingchanges (Transact-SQL)
適用対象: SQL サーバー
レプリケートを待機している変更を示す結果セットを返します。 このストアド プロシージャは、パブリッシャー側のパブリケーション データベースとサブスクリプション データベースのサブスクライバー側で実行されます。
Note
この手順では、変更の数と、それらの変更に関係する行の近似値を提供します。 たとえば、プロシージャはパブリッシャーまたはサブスクライバーから情報を取得しますが、両方を同時に取得することはできません。 他のノードに格納されている情報により、プロシージャの見積もりよりも同期する変更のセットが小さくなることがあります。
構文
sp_showpendingchanges
[ [ @destination_server = ] N'destination_server' ]
[ , [ @publication = ] N'publication' ]
[ , [ @article = ] N'article' ]
[ , [ @show_rows = ] show_rows ]
[ ; ]
引数
[ @destination_server = ] N'destination_server'
レプリケートされた変更が適用されるサーバーの名前。 @destination_server は sysname で、既定値は NULL
です。
[ @publication = ] N'publication'
出版物の名前。 @publication は sysname で、既定値は NULL
です。 @publicationを指定した場合、結果は指定されたパブリケーションのみに制限されます。
[ @article = ] N'article'
アーティクルの名前。 @article は sysname で、既定値は NULL
です。 @articleを指定すると、結果は指定したアーティクルのみに制限されます。
[ @show_rows = ] show_rows
保留中の変更に関するより具体的な情報が結果セットに含まれるかどうかを指定します。 @show_rows は int で、既定値は 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
の数が返されます。
アクセス許可
sysadmin固定サーバー ロールまたは固定データベース ロールdb_ownerのメンバーのみがsp_showpendingchanges
を実行できます。