sp_replmonitorhelpmergesession (Transact-SQL)
返回给定复制合并代理过去会话的信息,并且针对每个符合筛选条件的会话返回一行。 此用于监视合并复制的存储过程在分发服务器的分发数据库上执行,或在订阅服务器的订阅数据库上执行。
语法
sp_replmonitorhelpmergesession [ [ @agent_name = ] 'agent_name' ]
[ , [ @hours = ] hours ]
[ , [ @session_type = ] session_type ]
[ , [ @publisher = ] 'publisher' ]
[ , [ @publisher_db = ] 'publisher_db' ]
[ , [ @publication = ] 'publication' ]
参数
[ @agent_name = ] 'agent_name'
代理的名称。agent_name 的数据类型为 nvarchar(100),无默认值。[ @hours = ] hours
以小时为单位的时间范围,将返回该范围内的历史代理会话信息。hours 的数据类型为 int,可以是下列范围之一。Value
说明
< 0
返回代理过去运行的信息,最多返回 100 条运行信息。
0(默认值)
返回代理过去运行的所有信息。
> 0
返回过去 hours 小时内代理运行的信息。
[ @session_type = ] session_type
基于会话最终结果筛选结果集。session_type 的数据类型为 int,可以是下列值之一。Value
说明
1(默认值)
具有重试或成功结果的代理会话。
0
具有失败结果的代理会话。
[ @publisher= ] 'publisher'
发布服务器的名称。publisher 的数据类型为 sysname,默认值为 NULL。 在订阅服务器上执行 sp_replmonitorhelpmergesession 时使用此参数。[ @publisher_db= ] 'publisher_db'
发布数据库的名称。publisher_db 的数据类型为 sysname,默认值为 NULL。 在订阅服务器上执行 sp_replmonitorhelpmergesession 时使用此参数。[ @publication= ] 'publication'
发布的名称。publication 的数据类型为 sysname,默认值为 NULL。 在订阅服务器上执行 sp_replmonitorhelpmergesession 时使用此参数。
结果集
列名 |
数据类型 |
说明 |
---|---|---|
Session_id |
int |
代理作业会话的 ID。 |
Status |
int |
代理运行状态: 1 = 开始 2 = 成功 3= 正在进行 4 = 空闲 5 = 重试 6 = 失败 |
StartTime |
datetime |
代理作业会话开始的时间。 |
EndTime |
datetime |
代理作业会话完成的时间。 |
Duration |
int |
此作业会话的累计时间(以秒为单位)。 |
UploadedCommands |
int |
在代理会话过程中上载的命令的数目。 |
DownloadedCommands |
int |
在代理会话过程中下载的命令的数目。 |
ErrorMessages |
int |
在代理会话过程中生成的错误消息的数目。 |
ErrorID |
int |
发生的错误的 ID。 |
PercentageDone |
decimal |
已经在活动会话中传递的全部更改的估计百分比。 |
TimeRemaining |
int |
估计的活动会话所剩秒数。 |
CurrentPhase |
int |
活动会话的当前阶段,可以是以下内容之一。 1 = 上载 2 = 下载 |
LastMessage |
nvarchar(500) |
合并代理在会话过程中记录的最后一个消息。 |
返回代码值
0(成功)或 1(失败)
注释
sp_replmonitorhelpmergesession 用于监视合并复制。
在订阅服务器上执行时,sp_replmonitorhelpmergesession 只返回最后五个合并代理会话的信息。
权限
只有分发服务器的分发数据库或订阅服务器的订阅数据库上的 db_owner 或 replmonitor 固定数据库角色成员才能执行 sp_replmonitorhelpmergesession。