sp_addsubscriber (Transact-SQL)

向发布服务器添加新的订阅服务器,使其能够接收发布。对于快照和事务发布,此存储过程在发布服务器的发布数据库中执行;对于使用远程分发服务器的合并发布,此存储过程在分发服务器执行。

ms188360.note(zh-cn,SQL.90).gif重要提示:
已不推荐使用此存储过程。不再要求在发布服务器上显式注册订阅服务器。

主题链接图标Transact-SQL 语法约定

语法

sp_addsubscriber [ @subscriber = ] 'subscriber'
    [ , [ @type = ] type ] 
    [ , [ @login = ] 'login' ]
    [ , [ @password = ] 'password' ]
    [ , [ @commit_batch_size = ] commit_batch_size ]
    [ , [ @status_batch_size = ] status_batch_size ]
    [ , [ @flush_frequency = ] flush_frequency ]
    [ , [ @frequency_type = ] frequency_type ]
    [ , [ @frequency_interval = ] frequency_interval ]
    [ , [ @frequency_relative_interval = ] frequency_relative_interval ]
    [ , [ @frequency_recurrence_factor = ] frequency_recurrence_factor ]
    [ , [ @frequency_subday = ] frequency_subday ]
    [ , [ @frequency_subday_interval = ] frequency_subday_interval ]
    [ , [ @active_start_time_of_day = ] active_start_time_of_day ]
    [ , [ @active_end_time_of_day = ] active_end_time_of_day ]
    [ , [ @active_start_date = ] active_start_date ]
    [ , [ @active_end_date = ] active_end_date ]
    [ , [ @description = ] 'description' ]
    [ , [ @security_mode = ] security_mode ]
    [ , [ @encrypted_password = ] encrypted_password ]
    [ , [ @publisher = ] 'publisher' ]

参数

  • [ @subscriber=] 'subscriber'
    订阅服务器的名称,将作为有效订阅服务器添加到该服务器的发布中。subscriber 的数据类型为 sysname,无默认值。
  • [ @type=] type
    订阅服务器的类型。type 的数据类型为 tinyint,可以是下列值之一:

    说明

    0(默认值)

    Microsoft SQL Server 订阅服务器

    1

    ODBC 数据源服务器

    2

    Microsoft Jet 数据库

    3

    OLE DB 访问接口

  • [ @login=] 'login'
    SQL Server 身份验证的登录 ID。login 的数据类型为 sysname,默认值为 NULL。

    ms188360.note(zh-cn,SQL.90).gif注意:
    已不推荐使用此参数,保留它为了让脚本能够向后兼容。现在,该属性是在执行 sp_addsubscription 时为每个订阅指定。在指定值后,该值将用作在此订阅服务器上创建订阅时的默认值,同时返回一条警告消息。
  • [ @password = ] 'password'
    SQL Server 身份验证的密码。password 的数据类型为 nvarchar(524),默认值为 NULL。

    ms188360.security(zh-cn,SQL.90).gif安全说明:
    不要使用空密码。请使用强密码。
    ms188360.note(zh-cn,SQL.90).gif注意:
    已不推荐使用此参数,保留它为了让脚本能够向后兼容。现在,该属性是在执行 sp_addsubscription 时为每个订阅指定。在指定值后,该值将用作在此订阅服务器上创建订阅时的默认值,同时返回一条警告消息。
  • [ @commit_batch_size=] commit_batch_size
    已不推荐使用此参数,保留它为了让脚本能够向后兼容。

    ms188360.note(zh-cn,SQL.90).gif注意:
    在指定值后,该值将用作在此订阅服务器上创建订阅时的默认值,同时返回一条警告消息。
  • [ @status_batch_size=] status_batch_size
    已不推荐使用此参数,保留它为了让脚本能够向后兼容。

    ms188360.note(zh-cn,SQL.90).gif注意:
    在指定值后,该值将用作在此订阅服务器上创建订阅时的默认值,同时返回一条警告消息。
  • [ @flush_frequency=] flush_frequency
    已不推荐使用此参数,保留它为了让脚本能够向后兼容。

    ms188360.note(zh-cn,SQL.90).gif注意:
    在指定值后,该值将用作在此订阅服务器上创建订阅时的默认值,同时返回一条警告消息。
  • [ @frequency_type = ] frequency_type
    计划复制代理的频率。frequency_type 的数据类型为 int,可以是下列值之一。

    说明

    1

    执行一次

    2

    按需

    4

    每天

    8

    每周

    16

    每月

    32

    与“每月”选项相关

    64(默认值)

    自动启动

    128

    重复执行

    ms188360.note(zh-cn,SQL.90).gif注意:
    已不推荐使用此参数,保留它为了让脚本能够向后兼容。现在,该属性是在执行 sp_addsubscription 时为每个订阅指定。在指定值后,该值将用作在此订阅服务器上创建订阅时的默认值,同时返回一条警告消息。
  • [@frequency_interval= ] frequency_interval
    应用于由 frequency_type 设置的频率的值。frequency_interval 的数据类型为 int,默认值为 1。

    ms188360.note(zh-cn,SQL.90).gif注意:
    已不推荐使用此参数,保留它为了让脚本能够向后兼容。现在,该属性是在执行 sp_addsubscription 时为每个订阅指定。在指定值后,该值将用作在此订阅服务器上创建订阅时的默认值,同时返回一条警告消息。
  • [ @frequency_relative_interval = ]frequency_relative_interval
    复制代理的日期。将 frequency_type 设置为 32(与“每月”选项相关),则使用此参数。frequency_relative_interval 的数据类型为 int,可以是下列值之一。

    说明

    1(默认值)

    第一个

    2

    第二个

    4

    第三个

    8

    第四个

    16

    最后一个

    ms188360.note(zh-cn,SQL.90).gif注意:
    已不推荐使用此参数,保留它为了让脚本能够向后兼容。现在,该属性是在执行 sp_addsubscription 时为每个订阅指定。在指定值后,该值将用作在此订阅服务器上创建订阅时的默认值,同时返回一条警告消息。
  • [ @frequency_recurrence_factor = ] frequency_recurrence_factor
    frequency_type 使用的重复因子。frequency_recurrence_factor 的数据类型为 int,默认值为 0

    ms188360.note(zh-cn,SQL.90).gif注意:
    已不推荐使用此参数,保留它为了让脚本能够向后兼容。现在,该属性是在执行 sp_addsubscription 时为每个订阅指定。在指定值后,该值将用作在此订阅服务器上创建订阅时的默认值,同时返回一条警告消息。
  • [ @frequency_subday = ]frequency_subday
    在定义的周期内重新计划的频率。frequency_subday 的数据类型为 int,可以是下列值之一。

    说明

    1

    一次

    2

    第二个

    4(默认值)

    分钟

    8

    小时

    ms188360.note(zh-cn,SQL.90).gif注意:
    已不推荐使用此参数,保留它为了让脚本能够向后兼容。现在,该属性是在执行 sp_addsubscription 时为每个订阅指定。在指定值后,该值将用作在此订阅服务器上创建订阅时的默认值,同时返回一条警告消息。
  • [ @frequency_subday_interval = ]frequency_subday_interval
    frequency_subday 的间隔。frequency_subday_interval 的数据类型为 int,默认值为 5

    ms188360.note(zh-cn,SQL.90).gif注意:
    已不推荐使用此参数,保留它为了让脚本能够向后兼容。现在,该属性是在执行 sp_addsubscription 时为每个订阅指定。在指定值后,该值将用作在此订阅服务器上创建订阅时的默认值,同时返回一条警告消息。
  • [ @active_start_time_of_day = ] active_start_time_of_day
    第一次安排复制代理的时间,格式为 HHMMSS。active_start_time_of_day 的数据类型为 int,默认值为 0

    ms188360.note(zh-cn,SQL.90).gif注意:
    已不推荐使用此参数,保留它为了让脚本能够向后兼容。现在,该属性是在执行 sp_addsubscription 时为每个订阅指定。在指定值后,该值将用作在此订阅服务器上创建订阅时的默认值,同时返回一条警告消息。
  • [ @active_end_time_of_day = ] active_end_time_of_day
    停止安排复制代理的时间,格式为 HHMMSS。active_end_time_of_day 的数据类型为 int,默认值为 235959,表示 24 小时制的 11:59:59 P.M.。

    ms188360.note(zh-cn,SQL.90).gif注意:
    已不推荐使用此参数,保留它为了让脚本能够向后兼容。现在,该属性是在执行 sp_addsubscription 时为每个订阅指定。在指定值后,该值将用作在此订阅服务器上创建订阅时的默认值,同时返回一条警告消息。
  • [ @active_start_date = ] active_start_date
    第一次安排复制代理的日期,格式为 YYYYMMDD。active_start_date 的数据类型为 int,默认值为 0。

    ms188360.note(zh-cn,SQL.90).gif注意:
    已不推荐使用此参数,保留它为了让脚本能够向后兼容。现在,该属性是在执行 sp_addsubscription 时为每个订阅指定。在指定值后,该值将用作在此订阅服务器上创建订阅时的默认值,同时返回一条警告消息。
  • [ @active_end_date = ] active_end_date
    停止安排复制代理的日期,格式为 YYYYMMDD。active_end_date 的数据类型为 int,默认值为 99991231,表示 9999 年 12 月 31 日。

    ms188360.note(zh-cn,SQL.90).gif注意:
    已不推荐使用此参数,保留它为了让脚本能够向后兼容。现在,该属性是在执行 sp_addsubscription 时为每个订阅指定。在指定值后,该值将用作在此订阅服务器上创建订阅时的默认值,同时返回一条警告消息。
  • [ @description =] 'description'
    订阅服务器的文本说明。description 的数据类型为 nvarchar(255),默认值为 NULL。
  • [ @security_mode=] security_mode
    已实现的安全模式。security_mode 的数据类型为 int,默认值为 1。0 指定 SQL Server 身份验证。1 指定 Windows 身份验证。

    ms188360.note(zh-cn,SQL.90).gif注意:
    已不推荐使用此参数,保留它为了让脚本能够向后兼容。现在,该属性是在执行 sp_addsubscription 时为每个订阅指定。在指定值后,该值将用作在此订阅服务器上创建订阅时的默认值,同时返回一条警告消息。
  • [ @encrypted_password=] encrypted_password
    不推荐使用此参数,只是为了实现向后兼容性而提供的。将 encrypted_password 设置为除了 0 之外的任何值将产生错误。
  • [ @publisher= ] 'publisher'
    指定一个非 SQL Server 发布服务器。publisher 的数据类型为 sysname,默认值为 NULL。

    ms188360.note(zh-cn,SQL.90).gif注意:
    从 SQL Server 发布服务器进行发布时,不应使用 publisher

返回代码值

0(成功)或 1(失败)

备注

sp_addsubscriber 在快照复制、事务复制和合并复制中使用。

如果订阅服务器只有对合并发布的匿名订阅,则不需要 sp_addsubscriber

sp_addsubscriber 写入“分发”数据库中的 MSsubscriber_info 表。

权限

只有 sysadmin 固定服务器角色的成员才能执行 sp_addsubscriber

请参阅

参考

sp_changesubscriber (Transact-SQL)
sp_dropsubscriber (Transact-SQL)
sp_helpsubscriberinfo (Transact-SQL)

其他资源

如何创建推送订阅(复制 Transact-SQL 编程)
如何创建请求订阅(复制 Transact-SQL 编程)

帮助和信息

获取 SQL Server 2005 帮助