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 用于合并复制以返回在发布服务器或重新发布订阅服务器上存储的订阅信息。

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

权限

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