次の方法で共有


sp_replshowcmds (Transact-SQL)

レプリケーション対象のマークが付けられたトランザクションのコマンドを判読可能な形式で返します。 sp_replshowcmds は、現在の接続を含めてクライアント接続がレプリケートされたトランザクションをログから読んでいない場合にだけ実行できます。 このストアド プロシージャは、パブリッシャー側でパブリケーション データベースについて実行されます。

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

構文

sp_replshowcmds [ @maxtrans = ] maxtrans

引数

  • [ @maxtrans = ] maxtrans
    情報を返すトランザクションの数です。 maxtrans のデータ型は int で、既定値は 1 です。これは、sp_replshowcmds が情報を返す、レプリケーション保留中のトランザクションの最大数です。

結果セット

sp_replshowcmds は、実行した元のパブリケーション データベースに関する情報を返す診断プロシージャです。

列名

データ型

説明

xact_seqno

binary(10)

コマンドのシーケンス番号です。

originator_id

int

コマンド実行者の ID で、常に 0 です。

publisher_database_id

int

パブリッシャー データベースの ID で、常に 0 です。

article_id

int

アーティクルの ID です。

int

コマンドの種類です。

command

nvarchar(1024)

Transact-SQL コマンドです。

説明

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

sp_replshowcmds を使用すると、まだディストリビュートされていないトランザクション、つまりディストリビューターにまだ送られておらず、トランザクション ログに残っているトランザクションを表示できます。

同じデータベース内で sp_replshowcmdssp_replcmds を実行するクライアントは、エラー 18752 を受け取ります。

このエラーを避けるには、最初のクライアントが接続を切断するか、または sp_replflush を実行してログ リーダーとしてのクライアントのロールを解除する必要があります。 すべてのクライアントをログ リーダーから切断すれば、sp_replshowcmds を正しく実行できます。

注意

sp_replshowcmds は、レプリケーションでの問題点のトラブルシューティングのためだけに使用するようにしてください。

権限

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

関連項目

参照

sp_replcmds (Transact-SQL)

sp_repldone (Transact-SQL)

sp_replflush (Transact-SQL)

sp_repltrans (Transact-SQL)

システム ストアド プロシージャ (Transact-SQL)

概念

エラー メッセージ