sp_replshowcmds (Transact-SQL)
Applies to: SQL Server Azure SQL Managed Instance
Returns the commands for transactions marked for replication in readable format. sp_replshowcmds
can be run only when client connections (including the current connection) aren't reading replicated transactions from the log. This stored procedure is executed at the Publisher on the publication database.
Transact-SQL syntax conventions
Syntax
sp_replshowcmds [ [ @maxtrans = ] maxtrans ]
[ ; ]
Arguments
[ @maxtrans = ] maxtrans
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 set
sp_replshowcmds
is a diagnostic procedure that returns information about the publication database from which it's 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 aren't distributed (those transactions remaining in the transaction log that aren't yet 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 disconnect 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
.