sp_replshowcmds (Transact-SQL)
以可读格式返回标记为要复制的事务的命令。仅当客户端连接(包括当前连接)不从日志中读取复制事务时,才能运行 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_replshowcmds 和 sp_replcmds 的客户端会收到 18752 号错误。
若要避免此错误,必须断开第一个客户端,或者必须执行 sp_replflush 释放该客户端作为日志读取器的角色。在所有客户端都与日志读取器断开连接后,可以成功运行 sp_replshowcmds。
注意: |
---|
只有在解决与复制有关的问题时才应运行 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)