sp_helpmergesubscription (Transact-SQL)

适用于:SQL Server

返回有关对合并发布的订阅(推送订阅和请求订阅)的信息。 此存储过程用于在发布服务器上对发布数据库执行,或在正重新发布的订阅服务器上对订阅数据库执行。

Transact-SQL 语法约定

语法

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_dbsysname,默认值 %为 ,返回有关所有发布服务器数据库的信息。

[ @subscription_type = ] N'subscription_type'

订阅的类型。 @subscription_typenvarchar(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用于合并副本 (replica)tion 以返回在发布服务器或重新发布订阅服务器上存储的订阅信息。

对于匿名订阅, subscription_type值始终 1 为(拉取)。 但是,必须在订阅服务器上执行 sp_helpmergepullsubscription ,以获取匿名订阅的信息。

权限

只有 sysadmin 固定服务器角色、db_owner固定数据库角色的成员或订阅所属的发布的发布访问列表才能执行sp_helpmergesubscription