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)
其他資源
如何:建立發送訂閱 (複寫 Transact-SQL 程式設計)
如何:建立提取訂閱 (複寫 Transact-SQL 程式設計)