适用范围:SQL Server
返回有关对合并发布的订阅(推送订阅和请求订阅)的信息。 此存储过程用于在发布服务器上对发布数据库执行,或在正重新发布的订阅服务器上对订阅数据库执行。
语法
sp_helpmergesubscription
    [ [ @publication = ] N'publication' ]
    [ , [ @subscriber = ] N'subscriber' ]
    [ , [ @subscriber_db = ] N'subscriber_db' ]
    [ , [ @publisher = ] N'publisher' ]
    [ , [ @publisher_db = ] N'publisher_db' ]
    [ , [ @subscription_type = ] N'subscription_type' ]
    [ , [ @found = ] found OUTPUT ]
[ ; ]
参数
[ @publication = ] N'publication'
发布的名称。 @publication为 sysname,默认值为 %. 发布必须已存在,并且必须符合标识符的规则。 如果 NULL 返回或 %返回有关当前数据库中所有合并发布和订阅的信息。
[ @subscriber = ] N'subscriber'
订阅服务器的名称。 @subscriber为 sysname,默认值为 %. 如果 NULL 返回 %或返回有关给定发布的所有订阅的信息。
[ @subscriber_db = ] N'subscriber_db'
订阅数据库的名称。 @subscriber_db为 sysname,默认值%为 ,返回有关所有订阅数据库的信息。
[ @publisher = ] N'publisher'
发布服务器的名称。 @publisher为 sysname,默认值%%为 ,默认值返回有关所有发布服务器的信息。 发布服务器必须为有效服务器。
[ @publisher_db = ] N'publisher_db'
发布服务器数据库的名称。 @publisher_db 为 sysname,默认值 %为 ,返回有关所有发布服务器数据库的信息。
[ @subscription_type = ] N'subscription_type'
订阅的类型。 @subscription_type 为 nvarchar(15),可以是其中一个值。
| 值 | 说明 | 
|---|---|
push(默认值) | 
推送订阅 | 
pull | 
请求订阅 | 
both | 
推送订阅和请求订阅 | 
[ @found = ] 找到 OUTPUT
指示返回行的标志。 @found是 int 类型的 OUTPUT 参数。
1指示找到发布。0指示找不到发布。
结果集
| 列名称 | 数据类型 | 描述 | 
|---|---|---|
subscription_name | 
sysname | 订阅的名称。 | 
publication | 
sysname | 发布的名称。 | 
publisher | 
sysname | 发布服务器的名称。 | 
publisher_db | 
sysname | 发布服务器数据库名。 | 
subscriber | 
sysname | 订阅服务器的名称。 | 
subscriber_db | 
sysname | 订阅数据库的名称。 | 
status | 
int | 订阅的状态:0 = 所有作业都在等待启动1 = 一个或多个作业正在启动2 = 所有作业都已成功执行3 = 正在执行至少一个作业4 = 所有作业都计划并处于空闲状态5 = 在上一次失败后,至少有一个作业正在尝试执行6 = 至少一个作业未能成功执行 | 
subscriber_type | 
int | 订阅服务器的类型。 | 
subscription_type | 
int | 订阅的类型:0 = 推送1 = 拉取2 = 两者 | 
priority | 
float(8) | 指示订阅优先级的数字。 | 
sync_type | 
tinyint | 订阅同步类型。 | 
description | 
nvarchar(255) | 对该合并订阅的简短说明。 | 
merge_jobid | 
binary(16) | 合并代理的作业 ID。 | 
full_publication | 
tinyint | 指定订阅是完全发布还是筛选发布。 | 
offload_enabled | 
bit | 指定复制代理的卸载执行是否设置为在订阅服务器上运行。 如果 NULL为发布服务器,则执行。 | 
offload_server | 
sysname | 运行代理的服务器名。 | 
use_interactive_resolver | 
int | 返回在调节过程中是否使用交互式冲突解决程序。 如果未 0使用交互式冲突解决程序。 | 
hostname | 
sysname | 当订阅按HOST_NAME函数的值进行筛选时提供的值。 | 
subscriber_security_mode | 
smallint | 订阅服务器的安全模式,即 1 Windows 身份验证,以及 0 SQL Server 身份验证。 | 
subscriber_login | 
sysname | 订阅服务器上的登录名。 | 
subscriber_password | 
sysname | 永远不会返回实际的订阅服务器密码。 结果由 ****** 字符串屏蔽。 | 
返回代码值
0(成功)或 1(失败)。
注解
sp_helpmergesubscription 用于合并复制以返回在发布服务器或重新发布订阅服务器上存储的订阅信息。
对于匿名订阅, subscription_type值始终 1 为(拉取)。 但是,必须在订阅服务器上执行 sp_helpmergepullsubscription ,以获取匿名订阅的信息。
权限
只有 sysadmin 固定服务器角色、db_owner固定数据库角色的成员或订阅所属的发布的发布访问列表才能执行sp_helpmergesubscription。