sp_replshowcmds (Transact-SQL)
適用対象: SQL ServerAzure SQL Managed Instance
レプリケーション対象のマークが付けられたトランザクションのコマンドを判読可能な形式で返します。 sp_replshowcmdsは、クライアント接続 (現在の接続を含む) がレプリケートされたトランザクションをログから読み取っていない場合にのみ実行できます。 このストアド プロシージャは、パブリッシャー側のパブリケーション データベースで実行されます。
構文
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。 |
type | int | コマンドの種類。 |
コマンド | nvarchar(1024) | Transact-SQL コマンド。 |
解説
sp_replshowcmdsはトランザクション レプリケーションで使用されます。
sp_replshowcmdsを使用すると、現在分散されていないトランザクションを表示できます (これらのトランザクションはメインディストリビューターに送信されていないトランザクション ログに記録されます)。
同じデータベース内でsp_replshowcmdsおよびsp_replcmdsを実行するクライアントは、エラー 18752 を受け取ります。
このエラーを回避するには、最初のクライアントを切断するか、sp_replflushを実行してログ リーダーとしてのクライアントのロールを解放する必要があります。 すべてのクライアントがログ リーダーから切断された後、 sp_replshowcmds を正常に実行できます。
Note
sp_replshowcmdsは、レプリケーションに関する問題のトラブルシューティングを行うためだけに実行する必要があります。
アクセス許可
sysadmin 固定サーバー ロールまたは固定データベース ロールdb_ownerのメンバーのみが、sp_replshowcmdsを実行できます。
参照
エラー メッセージ
sp_replcmds (Transact-SQL)
sp_repldone (Transact-SQL)
sp_replflush (Transact-SQL)
sp_repltrans (Transact-SQL)
システム ストアド プロシージャ (Transact-SQL)
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示