sp_addsubscriber (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 驗證的登入識別碼。 login 是 sysname,預設值是 NULL。[!附註]
這個參數已被取代,維護它的目的,只是為了與舊版的指令碼相容。 這個屬性現在是在執行 sp_addsubscription 時,針對個別訂閱來指定的。 指定值之後,它會成為在這個訂閱者端建立訂閱時的預設值,且會傳回一則警告訊息。
[ @password=] '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
最後一個
[!附註]
這個參數已被取代,維護它的目的,只是為了與舊版的指令碼相容。 這個屬性現在是在執行 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
秒
4 (預設值)
分鐘
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,表示 24 小時制的下午 11:59:59 。[!附註]
這個參數已被取代,維護它的目的,只是為了與舊版的指令碼相容。 這個屬性現在是在執行 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=] '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= ] 'publisher'
指定非 SQL Server 發行者。 publisher 是 sysname,預設值是 NULL。[!附註]
當從非 SQL Server 發行者發行時,不應使用 publisher。
傳回碼值
0 (成功) 或 1 (失敗)
備註
sp_addsubscriber 用於快照式複寫、異動複寫和合併式複寫中。
當訂閱者只會有合併式發行集的匿名訂閱時,不需要 sp_addsubscriber。
sp_addsubscriber 會寫入 distribution 資料庫的 MSsubscriber_info 資料表中。
權限
只有系統管理員 (sysadmin) 固定伺服器角色的成員,才能夠執行 sp_addsubscriber。
請參閱
參考
sp_changesubscriber (Transact-SQL)
sp_dropsubscriber (Transact-SQL)
sp_helpsubscriberinfo (Transact-SQL)