Transact-SQL 参考

sp_replshowcmds

以可读格式返回被标记为复制的事务的命令。只有当客户端连接(包括当前连接)没有从日志中读取复制事务时才能运行 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 命令的类型。
command nvarchar(1024) Transact-SQL 命令。

注释

sp_replshowcmds 用于事务复制。

通过使用 sp_replshowcmds,可以查看当前没有分发的事务(保留在事务日志中尚未发送到分发服务器的事务)。

在同一数据库内运行 sp_replshowcmdssp_replcmds 的客户端会收到 18752 号错误。

若要避免此错误,必须断开第一个客户端,或者必须执行 sp_replflush 释放该客户端作为日志读取器的角色。在所有客户端都与日志读取器断开连接后,可以成功运行 sp_replshowcmds

说明  只有在解决与复制有关的问题时才应运行 sp_replshowcmds

权限

只有 sysadmin 固定服务器角色成员或 db_owner 固定数据库角色成员才能执行 sp_replshowcmds

请参见

错误信息

sp_replcmds

sp_repldone

sp_replflush

sp_repltrans

系统存储过程