sp_replmonitorhelpmergesession(Transact-SQL)

适用于:SQL ServerAzure SQL 托管实例

返回给定复制合并代理的以前会话的信息,并为每个符合筛选条件的会话返回一行。 此用于监视合并复制的存储过程在分发服务器的分发数据库上执行,或在订阅服务器的订阅数据库上执行。

Transact-SQL 语法约定

语法

sp_replmonitorhelpmergesession
    [ [ @agent_name = ] N'agent_name' ]
    [ , [ @hours = ] hours ]
    [ , [ @session_type = ] session_type ]
    [ , [ @publisher = ] N'publisher' ]
    [ , [ @publisher_db = ] N'publisher_db' ]
    [ , [ @publication = ] N'publication' ]
[ ; ]

参数

[ @agent_name = ] N'agent_name'

代理的名称。 @agent_namenvarchar(100),没有默认值。

[ @hours = ] 小时

返回历史代理会话信息的时间范围(以小时为单位)。 @hours为 int,可以是以下范围之一。

说明
< 0 返回代理过去运行的信息,最多返回 100 条运行信息。
0(默认值) 返回代理过去运行的所有信息。
> 0 返回过去几个小时发生的代理运行的信息。

[ @session_type = ] session_type

基于会话最终结果筛选结果集。 @session_type为 int,可以是这些值之一。

说明
1(默认值) 具有重试或成功结果的代理会话。
0 具有失败结果的代理会话。

[ @publisher = ] N'publisher'

发布服务器的名称。 @publisher为 sysname,默认值为 NULL. 在订阅服务器上执行 sp_replmonitorhelpmergesession 时使用此参数。

[ @publisher_db = ] N'publisher_db'

发布数据库的名称。 @publisher_db为 sysnameNULL. 在订阅服务器上执行 sp_replmonitorhelpmergesession 时使用此参数。

[ @publication = ] N'publication'

发布的名称。 @publication为 sysname,默认值为 NULL. 在订阅服务器上执行 sp_replmonitorhelpmergesession 时使用此参数。

结果集

列名称 数据类型 说明
Session_id int 代理作业会话的 ID。
Status int 代理运行状态:

1 = Start

2 = 成功

3 = 正在进行中

4 = 空闲

5 = 重试

6 = 失败
StartTime 日期/时间 时间代理作业会话开始。
EndTime 日期/时间 时间代理作业会话已完成。
Duration int 此作业会话的累计时间(以秒为单位)。
UploadedCommands int 在代理会话过程中上载的命令的数目。
DownloadedCommands int 在代理会话过程中下载的命令的数目。
ErrorMessages int 在代理会话过程中生成的错误消息的数目。
ErrorID int 发生的错误的 ID。
PercentageDone 十进制 已经在活动会话中传递的全部更改的估计百分比。
TimeRemaining int 估计的活动会话所剩秒数。
CurrentPhase int 活动会话的当前阶段,可以是下列状态之一。

1 = 上传

2 = 下载
LastMessage nvarchar(500) 会话期间合并代理记录的最后一条消息。

返回代码值

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

注解

sp_replmonitorhelpmergesession 用于监视合并复制。

在订阅服务器上执行时,sp_replmonitorhelpmergesession仅返回最近五个合并代理会话的信息。

权限

只有分发服务器上的分发数据库或订阅数据库上的db_ownersp_replmonitorhelpmergesession