sp_addsubscriber (Transact-SQL)
适用于: SQL Server Azure SQL 数据库
向发布服务器添加新的订阅服务器,使其能够接收发布。 对于快照和事务发布,此存储过程在发布服务器的发布数据库中执行;对于使用远程分发服务器的合并发布,此存储过程在分发服务器执行。
重要
已不推荐使用此存储过程。 不再需要在发布服务器上显式注册订阅服务器。
语法
sp_addsubscriber
[ @subscriber = ] N'subscriber'
[ , [ @type = ] type ]
[ , [ @login = ] N'login' ]
[ , [ @password = ] N'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 = ] N'description' ]
[ , [ @security_mode = ] security_mode ]
[ , [ @encrypted_password = ] encrypted_password ]
[ , [ @publisher = ] N'publisher' ]
[ ; ]
参数
[ @subscriber = ] N'subscriber'
要作为有效订阅服务器添加到此服务器上的发布的服务器的名称。 @subscriber 为 sysname,无默认值。
[ @type = ] type
订阅服务器的类型。 @type 是 tinyint,可以是这些值之一。
值 | 说明 |
---|---|
0 (默认值) |
SQL Server 订阅服务器 |
1 |
ODBC 数据源服务器 |
2 |
Microsoft Jet 数据库 |
3 |
OLE DB 访问接口 |
[ @login = ] N'login'
SQL Server 身份验证的登录 ID。 @login为 sysname,默认值为 NULL
.
注意
此参数已弃用,并维护脚本的向后兼容性。 执行sp_addsubscription时,该属性现在按订阅指定。 指定值后,此订阅服务器上创建订阅时会将其用作默认值,并返回警告消息。
[ @password = ] N'password'
SQL Server 身份验证的密码。 @password为 nvarchar(524),默认值为 NULL
.
不要使用空白密码。 请使用强密码。
注意
此参数已弃用,并维护脚本的向后兼容性。 执行sp_addsubscription时,该属性现在按订阅指定。 指定值后,此订阅服务器上创建订阅时会将其用作默认值,并返回警告消息。
[ @commit_batch_size = ] commit_batch_size
此参数已弃用,并维护脚本的向后兼容性。
指定值后,此订阅服务器上创建订阅时会将其用作默认值,并返回警告消息。
[ @status_batch_size = ] status_batch_size
此参数已弃用,并维护脚本的向后兼容性。
指定值后,此订阅服务器上创建订阅时会将其用作默认值,并返回警告消息。
[ @flush_frequency = ] flush_frequency
此参数已弃用,并维护脚本的向后兼容性。
指定值后,此订阅服务器上创建订阅时会将其用作默认值,并返回警告消息。
[ @frequency_type = ] frequency_type
指定计划复制代理的频率。 @frequency_type为 int,可以是这些值之一。
值 | 说明 |
---|---|
1 |
一次 |
2 |
按需 |
4 |
每日 |
8 |
每周 |
16 |
每月 |
32 |
与“每月”选项相关 |
64 (默认值) |
自动启动 |
128 |
定期 |
注意
此参数已弃用,并维护脚本的向后兼容性。 执行sp_addsubscription时,该属性现在按订阅指定。 指定值后,此订阅服务器上创建订阅时会将其用作默认值,并返回警告消息。
[ @frequency_interval = ] frequency_interval
应用于由 @frequency_type设置的频率的值。 @frequency_interval为 int,默认值为 1
.
注意
此参数已弃用,并维护脚本的向后兼容性。 执行sp_addsubscription时,该属性现在按订阅指定。 指定值后,此订阅服务器上创建订阅时会将其用作默认值,并返回警告消息。
[ @frequency_relative_interval = ] frequency_relative_interval
复制代理的日期。 当@frequency_type设置为32
(每月相对)时,将使用此参数。 @frequency_relative_interval为 int,可以是其中一个值。
值 | 说明 |
---|---|
1 (默认值) |
第一个 |
2 |
第二个 |
4 |
第三个 |
8 |
第四 |
16 |
Last |
注意
此参数已弃用,并维护脚本的向后兼容性。 执行sp_addsubscription时,该属性现在按订阅指定。 指定值后,此订阅服务器上创建订阅时会将其用作默认值,并返回警告消息。
[ @frequency_recurrence_factor = ] frequency_recurrence_factor
@frequency_type使用的重复因子。 @frequency_recurrence_factor为 int,默认值为 0
.
注意
此参数已弃用,并维护脚本的向后兼容性。 执行sp_addsubscription时,该属性现在按订阅指定。 指定值后,此订阅服务器上创建订阅时会将其用作默认值,并返回警告消息。
[ @frequency_subday = ] frequency_subday
在定义的时间段内重新安排的频率。 @frequency_subday 为 int,可以是以下值之一。
值 | 说明 |
---|---|
1 |
一次 |
2 |
Second |
4 (默认值) |
Minute |
8 |
小时 |
注意
此参数已弃用,并维护脚本的向后兼容性。 执行sp_addsubscription时,该属性现在按订阅指定。 指定值后,此订阅服务器上创建订阅时会将其用作默认值,并返回警告消息。
[ @frequency_subday_interval = ] frequency_subday_interval
frequency_subday的间隔。 @frequency_subday_interval为 int,默认值为 5
.
注意
此参数已弃用,并维护脚本的向后兼容性。 执行sp_addsubscription时,该属性现在按订阅指定。 指定值后,此订阅服务器上创建订阅时会将其用作默认值,并返回警告消息。
[ @active_start_time_of_day = ] active_start_time_of_day
第一次计划复制代理的时间,格式为 HHmmss
。 @active_start_time_of_day为 int,默认值为 0
.
注意
此参数已弃用,并维护脚本的向后兼容性。 执行sp_addsubscription时,该属性现在按订阅指定。 指定值后,此订阅服务器上创建订阅时会将其用作默认值,并返回警告消息。
[ @active_end_time_of_day = ] active_end_time_of_day
复制代理停止计划的时间,格式为 HHmmss
。 @active_end_time_of_day为 int,默认值235959
为 11:59:59:59(以 24 小时制为单位)。
注意
此参数已弃用,并维护脚本的向后兼容性。 执行sp_addsubscription时,该属性现在按订阅指定。 指定值后,此订阅服务器上创建订阅时会将其用作默认值,并返回警告消息。
[ @active_start_date = ] active_start_date
首次计划复制代理的日期,格式为 yyyyMMdd
. @active_start_date为 int,默认值为 0
.
注意
此参数已弃用,并维护脚本的向后兼容性。 执行sp_addsubscription时,该属性现在按订阅指定。 指定值后,此订阅服务器上创建订阅时会将其用作默认值,并返回警告消息。
[ @active_end_date = ] active_end_date
复制代理停止计划的日期,格式设置为 yyyyMMdd
。 @active_end_date 为 int,默认值 99991231
为 9999 年 12 月 31 日。
注意
此参数已弃用,并维护脚本的向后兼容性。 执行sp_addsubscription时,该属性现在按订阅指定。 指定值后,此订阅服务器上创建订阅时会将其用作默认值,并返回警告消息。
[ @description = ] N'description'
订阅服务器的文本说明。 @description 为 nvarchar(255),默认值为 NULL
.
[ @security_mode = ] security_mode
实现的安全模式。 @security_mode为 int,默认值为 1
.
0
指定 SQL Server 身份验证。1
指定Windows 身份验证。
注意
此参数已弃用,并维护脚本的向后兼容性。 执行sp_addsubscription时,该属性现在按订阅指定。 指定值后,此订阅服务器上创建订阅时会将其用作默认值,并返回警告消息。
[ @encrypted_password = ] encrypted_password
此参数已弃用,仅用于向后兼容性。 将 @encrypted_password 设置为任何值,但 0
会导致错误。
[ @publisher = ] N'publisher'
指定非 SQL Server 发布服务器。 @publisher为 sysname,默认值为 NULL
.
从 SQL Server 发布服务器发布时,不应使用@publisher。
返回代码值
0
(成功)或 1
(失败)。
注解
sp_addsubscriber
用于快照复制、事务复制和合并复制。
sp_addsubscriber
如果订阅服务器仅具有合并发布的匿名订阅,则不需要该订阅。
sp_addsubscriber
写入分发数据库中MSsubscriber_info表。
权限
只有 sysadmin 固定服务器角色的成员才能执行sp_addsubscriber
。