sp_replmonitorhelpmergesession (Transact-SQL)
适用于: SQL Server Azure 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_name 为 nvarchar(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为 sysname,默认值为 NULL
. 在订阅服务器上执行 sp_replmonitorhelpmergesession
时使用此参数。
[ @publication = ] N'publication'
发布的名称。 @publication为 sysname,默认值为 NULL
. 在订阅服务器上执行 sp_replmonitorhelpmergesession
时使用此参数。
结果集
列名称 | 数据类型 | 描述 |
---|---|---|
Session_id |
int | 代理作业会话的 ID。 |
Status |
int | 代理运行状态:1 = Start2 = 成功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
。