sp_addsubscriber (Transact-SQL)

適用於:SQL ServerAzure SQL Database

將新的訂閱者新增至發行者,使其能夠接收發行集。 這個預存程式會在發行集資料庫的發行者上執行快照式和交易式發行集;對於使用遠端散發者的合併式發行集,此預存程式會在散發者端執行。

重要

此預存程式已被取代。 您不再需要在發行者端明確註冊訂閱者。

Transact-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,而且可以是下列其中一個值。

Description
0 (預設值) SQL Server 訂閱者
1 ODBC 資料源伺服器
2 Microsoft Jet 資料庫
3 OLE DB 提供者

[ @login = ] N'login'

SQL Server 驗證的登入標識碼。 @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,而且可以是下列其中一個值。

Description
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,而且可以是下列其中一個值。

Description
1 (預設值) First
2 Second
4 Third
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,而且可以是下列其中一個值。

Description
1 一次
2 Second
4 (預設值) Minute
8 Hour

注意

此參數已被取代,而且會維護腳本的回溯相容性。 執行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 = ] 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數據表

權限

只有系統管理員固定伺服器角色的成員才能執行 sp_addsubscriber