sp_browsereplcmds (Transact-SQL)

适用于: SQL Server Azure SQL 托管实例

返回分发数据库中存储的可读版本复制命令的结果集,并将其用作诊断工具。 此存储过程在分发服务器上对分发数据库执行。

Transact-SQL 语法约定

语法

sp_browsereplcmds
    [ [ @xact_seqno_start = ] N'xact_seqno_start' ]
    [ , [ @xact_seqno_end = ] N'xact_seqno_end' ]
    [ , [ @originator_id = ] originator_id ]
    [ , [ @publisher_database_id = ] publisher_database_id ]
    [ , [ @article_id = ] article_id ]
    [ , [ @command_id = ] command_id ]
    [ , [ @agent_id = ] agent_id ]
    [ , [ @compatibility_level = ] compatibility_level ]
[ ; ]

参数

[ @xact_seqno_start = ] N'xact_seqno_start'

指定要返回的取值最低的精确序列号。 @xact_seqno_start为 nchar(22),默认值为 0x00000000000000000000.

[ @xact_seqno_end = ] N'xact_seqno_end'

指定要返回的取值最高的精确序列号。 @xact_seqno_end为 nchar(22),默认值为 0xFFFFFFFFFFFFFFFFFFFF.

[ @originator_id = ] originator_id

指定是否返回具有指定 originator_id 的命令。 @originator_id为 int,默认值为 NULL.

[ @publisher_database_id = ] publisher_database_id

指定是否返回具有指定 @publisher_database_id 的命令。 @publisher_database_id为 int,默认值为 NULL.

[ @article_id = ] article_id

指定是否返回具有指定 @article_id 的命令。 @article_id为 int,默认值为 NULL.

[ @command_id = ] command_id

要解码的MSrepl_commands命令的位置。 @command_id为 int,默认值为 NULL. 如果指定,还必须指定所有其他参数,并且@xact_seqno_start必须与@xact_seqno_end相同

[ @agent_id = ] agent_id

指定仅返回特定复制代理的命令。 @agent_id为 int,默认值为 NULL.

[ @compatibility_level = ] compatibility_level

指定 SQL Server 实例的兼容性级别。 @compatibility_level为 int,默认值为 9000000.

返回代码值

0(成功)或 1(失败)。

结果集

列名称 数据类型 描述
xact_seqno varbinary(16) 命令的序列号。
originator_srvname sysname 发起事务的服务器。
originator_db sysname 发起事务的数据库。
article_id int 项目的 ID。
type int 命令的类型。
partial_command bit 指示是否为部分命令。
hashkey int 仅供内部使用。
originator_publication_id int 发起事务的发布的 ID。
originator_db_version int 发起事务的数据库的版本。
originator_lsn varbinary(16) 标识初始发布中命令的日志序列号 (LSN)。 在对等事务复制中使用。
command nvarchar(1024) Transact-SQL 命令。
command_id int MSrepl_commands命令的 ID。

在结果集中,长命令可以拆分为若干行。

注解

sp_browsereplcmds 用于事务复制。

权限

只有 sysadmin 固定服务器角色的成员或分发数据库上的 db_ownerreplmonitor 固定数据库角色的成员才能执行sp_browsereplcmds