sp_replcmds (TRANSACT-SQL)sp_replcmds (Transact-SQL)

適用対象: ○SQL Server XAzure SQL Database XAzure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

トランザクション レプリケーション用のコマンドを返します。Returns the commands for transactions marked for replication. このストアド プロシージャは、パブリッシャー側でパブリケーション データベースについて実行されます。This stored procedure is executed at the Publisher on the publication database.

重要

Sp_replcmdsプロシージャがレプリケーションに関する問題のトラブルシューティングにのみ実行する必要があります。The sp_replcmds procedure should be run only to troubleshoot problems with replication.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions

構文Syntax

  
sp_replcmds [ @maxtrans = ] maxtrans  

引数Arguments

[ @maxtrans = ] maxtrans 情報を返すトランザクションの数です。[ @maxtrans = ] maxtrans Is the number of transactions to return information about. maxtransint、既定値は1、ディストリビューション待ちの次のトランザクションを指定します。maxtrans is int, with a default of 1, which specifies the next transaction waiting for distribution.

結果セットResult Sets

列名Column name データ型Data type 説明Description
アーティクル idarticle id intint アーティクルの ID。The ID of the article.
partial_commandpartial_command bitbit これが部分的なコマンドかどうかを示します。Indicates whether this is a partial command or not.
commandcommand varbinary(1024)varbinary(1024) コマンドの値。The command value.
xactidxactid binary(10)binary(10) トランザクション id。Transaction ID.
xact_seqnoxact_seqno varbinary(16)varbinary(16) トランザクション シーケンス番号。The transaction sequence number.
publication_idpublication_id intint パブリケーションの ID。The ID of the publication.
command_idcommand_id intint 内のコマンドの ID MSrepl_commandsします。ID of the command in MSrepl_commands.
command_typecommand_type intint コマンドの種類。Type of command.
originator_srvnameoriginator_srvname sysnamesysname サーバーはトランザクションが発生します。Server where the transaction originated.
originator_dboriginator_db sysnamesysname データベースのトランザクションが発生します。Database where the transaction originated.
pkHashpkHash intint 内部使用のみです。Internal use only.
originator_publication_idoriginator_publication_id intint トランザクションが発生したパブリケーションの ID。ID of the publication where the transaction originated.
originator_db_versionoriginator_db_version intint トランザクションが発生したデータベースのバージョンです。Version of the database where the transaction originated.
originator_lsnoriginator_lsn varbinary(16)varbinary(16) 発生元パブリケーションで、コマンドのログ シーケンス番号 (LSN) を識別します。Identifies the log sequence number (LSN) for the command in the originating publication.

コメントRemarks

sp_replcmdsトランザクション レプリケーションでログ読み取りプロセスによって使用されます。sp_replcmds is used by the log reader process in transactional replication.

レプリケーション処理を実行する最初のクライアントsp_replcmdsログ リーダーとして特定のデータベースでします。Replication treats the first client that runs sp_replcmds within a given database as the log reader.

この手順では、テーブルの所有者で修飾されたコマンドを生成したり、テーブル名 (既定値) で修飾しませんすることができます。This procedure can generate commands for owner-qualified tables or not qualify the table name (the default). 修飾テーブル名を追加すると、別のデータベースで同じユーザーが所有するテーブルに 1 つのデータベースの特定のユーザーが所有するテーブルからデータのレプリケーションができます。Adding qualified table names allows replication of data from tables owned by a specific user in one database to tables owned by the same user in another database.

注意

レプリケーション元データベースのテーブル名は、所有者名により限定されるので、レプリケーション先データベースのテーブルの所有者も同じ所有者名である必要があります。Because the table name in the source database is qualified by the owner name, the owner of the table in the target database must be the same owner name.

クライアントを実行しようとしたsp_replcmds同じデータベース内で最初のクライアントが切断されるまでにエラー 18752 を受け取ります。Clients who attempt to run sp_replcmds within the same database receive error 18752 until the first client disconnects. 別のクライアントを実行できる最初のクライアントが切断した後sp_replcmds、され、新しいログ リーダーになります。After the first client disconnects, another client can run sp_replcmds, and becomes the new log reader.

両方に警告メッセージ番号 18759 が追加された、 MicrosoftMicrosoft SQL ServerSQL Serverエラー ログとMicrosoftMicrosoftWindows アプリケーション ログsp_replcmdsテキスト ポインターができなかったため、テキスト コマンドをレプリケートすることはできません同じトランザクションで取得します。A warning message number 18759 is added to both the MicrosoftMicrosoft SQL ServerSQL Server error log and the MicrosoftMicrosoft Windows application log if sp_replcmds is unable to replicate a text command because the text pointer was not retrieved in the same transaction.

アクセス許可Permissions

メンバーのみ、 sysadmin固定サーバー ロールまたはdb_owner固定データベース ロールが実行できるsp_replcmdsします。Only members of the sysadmin fixed server role or the db_owner fixed database role can execute sp_replcmds.

関連項目See Also

エラー メッセージ Error Messages
sp_repldone (TRANSACT-SQL) sp_repldone (Transact-SQL)
sp_replflush (TRANSACT-SQL) sp_replflush (Transact-SQL)
sp_repltrans (TRANSACT-SQL) sp_repltrans (Transact-SQL)
システム ストアド プロシージャ (Transact-SQL)System Stored Procedures (Transact-SQL)