sp_helpmergesubscription (Transact-SQL)
返回有关对合并发布的订阅(推送订阅和请求订阅)的信息。 此存储过程用于在发布服务器上对发布数据库执行,或在正重新发布的订阅服务器上对订阅数据库执行。
语法
sp_helpmergesubscription [ [ @publication=] 'publication']
[ , [ @subscriber=] 'subscriber']
[ , [ @subscriber_db=] 'subscriber_db']
[ , [ @publisher=] 'publisher']
[ , [ @publisher_db=] 'publisher_db']
[ , [ @subscription_type=] 'subscription_type']
[ , [ @found=] 'found' OUTPUT]
参数
[ @publication=] 'publication'
发布的名称。publication 的数据类型为 sysname,默认值为 %。 该发布必须已经存在,并符合标识符的相关规则。 如果为 NULL 或 %,则将返回有关当前数据库中的所有合并发布和订阅的信息。[ @subscriber=] 'subscriber'
订阅服务器的名称。subscriber 的数据类型为 sysname,默认值为 %。 如果为 NULL 或 %,则返回有关对给定发布的所有订阅信息。[ @subscriber_db=] 'subscriber_db'
订阅数据库名。subscriber_db 的数据类型为 sysname,默认值为 %,表示返回有关所有订阅数据库的信息。[ @publisher=] 'publisher'
发布服务器名。 发布服务器必须是有效服务器。publisher 的数据类型为 sysname,默认值为 %,表示返回有关所有发布服务器的信息。[ @publisher_db=] 'publisher_db'
发布服务器数据库名。publisher_db 的数据类型为 sysname,默认值为 %,表示返回有关所有发布服务器数据库的信息。[ @subscription_type=] 'subscription_type'
订阅的类型。subscription_type 的数据类型为 nvarchar(15),可以是下列值之一。值
说明
push(默认值)
推送订阅
pull
请求订阅
both
推送订阅和请求订阅
[ @found=] 'found'OUTPUT
指示返回行的标志。found 的数据类型为 int 而且是 OUTPUT 参数,默认值为 NULL。 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 表示 MicrosoftSQL Server 身份验证。 |
subscriber_login |
sysname |
在订阅服务器上的登录名。 |
subscriber_password |
sysname |
永远不会返回实际的订阅服务器密码。 结果被“******”字符串所掩盖。 |
返回代码值
0(成功)或 1(失败)
注释
sp_helpmergesubscription 用于合并复制中,以返回发布服务器或重新发布的订阅服务器中存储的订阅信息。
对于匿名订阅,subscription_type 的值始终为 1(请求)。 但是,若要获得有关匿名订阅的信息,必须在订阅服务器上执行 sp_helpmergepullsubscription。
权限
只有 sysadmin 固定服务器角色的成员、db_owner 固定数据库角色的成员或订阅所属的发布的发布访问列表中的成员才能执行 sp_helpmergesubscription。