sp_replshowcmds (Transact-SQL)
以可读格式返回标记为复制的事务的命令。 仅当客户端连接(包括当前连接)未从日志读取副本 (replica)事务时,才能运行sp_replshowcmds。 此存储过程在发布服务器上对发布数据库执行。
语法
sp_replshowcmds [ @maxtrans = ] maxtrans
参数
[ @maxtrans = ] maxtrans
要返回信息的事务数。 maxtrans 为 int,默认值为 1,它指定sp_replshowcmds返回信息副本 (replica)挂起的最大事务数。
结果集
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 命令。 |
注解
事务副本 (replica)中使用sp_replshowcmds。
使用 sp_replshowcmds,可以查看当前未分发的事务(事务日志中尚未发送到分发服务器的事务)。
在同一数据库中运行 sp_replshowcmds 和 sp_replcmds 的客户端收到错误 18752。
若要避免此错误,第一个客户端必须断开连接,否则必须通过执行 sp_replflush释放客户端角色作为日志读取器。 所有客户端都与日志读取器断开连接后, 可以成功运行sp_replshowcmds 。
注意
应仅运行sp_replshowcmds来排查副本 (replica)问题。
权限
只有 sysadmin 固定服务器角色的成员或db_owner固定数据库角色的成员才能执行sp_replshowcmds。
另请参阅
错误消息
sp_replcmds (Transact-SQL)
sp_repldone (Transact-SQL)
sp_replflush (Transact-SQL)
sp_repltrans (Transact-SQL)
系统存储过程 (Transact-SQL)
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈