sp_replshowcmds (Transact-SQL)

Returns the commands for transactions marked for replication in readable format. sp_replshowcmds can be run only when client connections (including the current connection) are not reading replicated transactions from the log. This stored procedure is executed at the Publisher on the publication database.

Topic link iconTransact-SQL Syntax Conventions

Syntax

sp_replshowcmds [ @maxtrans = ] maxtrans

Arguments

  • [ @maxtrans = ] maxtrans
    Is the number of transactions about which to return information. maxtrans is int, with a default of 1, which specifies the maximum number of transactions pending replication for which sp_replshowcmds returns information.

Result Sets

sp_replshowcmds is a diagnostic procedure that returns information about the publication database from which it is executed.

Column name

Data type

Description

xact_seqno

binary(10)

Sequence number of the command.

originator_id

int

ID of the command originator, always 0.

publisher_database_id

int

ID of the Publisher database, always 0.

article_id

int

ID of the article.

type

int

Type of command.

command

nvarchar(1024)

Transact-SQL command.

Remarks

sp_replshowcmds is used in transactional replication.

Using sp_replshowcmds, you can view transactions that currently are not distributed (those transactions remaining in the transaction log that have not been sent to the Distributor).

Clients that run sp_replshowcmds and sp_replcmds within the same database receive error 18752.

To avoid this error, the first client must disconnect or the role of the client as log reader must be released by executing sp_replflush. After all clients have disconnected from the log reader, sp_replshowcmds can be run successfully.

Note

sp_replshowcmds should be run only to troubleshoot problems with replication.

Permissions

Only members of the sysadmin fixed server role or the db_owner fixed database role can execute sp_replshowcmds.