sp_helpmergesubscription (Transact-SQL)

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

主题链接图标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