sp_addsubscriber (Transact-SQL)

將訂閱者加入發行者中,使它能夠接收發行集。針對快照集和交易式發行集,這個預存程序執行於發行集資料庫的發行者端;如果是使用遠端散發者的合併式發行集,這個預存程序便執行於散發者端。

ms188360.note(zh-tw,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'
    這是要作為有效訂閱者加入這部伺服器的發行集之伺服器名稱。subscribersysname,沒有預設值。
  • [ @type=] type
    這是訂閱者的類型。typetinyint,它可以是下列值之一。

    描述

    0 (預設值)

    Microsoft SQL Server 訂閱者

    1

    ODBC 資料來源伺服器

    2

    Microsoft Jet 資料庫

    3

    OLE DB 提供者

  • [ @login=] 'login'
    這是 SQL Server 驗證的登入識別碼。loginsysname,預設值是 NULL。

    ms188360.note(zh-tw,SQL.90).gif附註:
    這個參數已被取代,維護它的目的,只是為了與舊版的指令碼相容。這個屬性現在是在執行 sp_addsubscription 時,針對個別訂閱來指定的。指定值之後,它會成為在這個訂閱者端建立訂閱時的預設值,且會傳回一則警告訊息。
  • [ @password=] 'password'
    這是 SQL Server 驗證的密碼。passwordnvarchar(524),預設值是 NULL。

    ms188360.security(zh-tw,SQL.90).gif安全性注意事項:
    密碼不能空白。請使用增強式密碼。
    ms188360.note(zh-tw,SQL.90).gif附註:
    這個參數已被取代,維護它的目的,只是為了與舊版的指令碼相容。這個屬性現在是在執行 sp_addsubscription 時,針對個別訂閱來指定的。指定值之後,它會成為在這個訂閱者端建立訂閱時的預設值,且會傳回一則警告訊息。
  • [ @commit_batch_size=] commit_batch_size
    這個參數已被取代,維護它的目的,只是為了與舊版的指令碼相容。

    ms188360.note(zh-tw,SQL.90).gif附註:
    指定值之後,它會成為在這個訂閱者端建立訂閱時的預設值,且會傳回一則警告訊息。
  • [ @status_batch_size=] status_batch_size
    這個參數已被取代,維護它的目的,只是為了與舊版的指令碼相容。

    ms188360.note(zh-tw,SQL.90).gif附註:
    指定值之後,它會成為在這個訂閱者端建立訂閱時的預設值,且會傳回一則警告訊息。
  • [ @flush_frequency=] flush_frequency
    這個參數已被取代,維護它的目的,只是為了與舊版的指令碼相容。

    ms188360.note(zh-tw,SQL.90).gif附註:
    指定值之後,它會成為在這個訂閱者端建立訂閱時的預設值,且會傳回一則警告訊息。
  • [ @frequency_type=] frequency_type
    這是複寫代理程式的排程頻率。frequency_typeint,它可以是下列值之一。

    描述

    1

    一次

    2

    視需要

    4

    每日

    8

    每週

    16

    每月

    32

    每月相對

    64 (預設值)

    自動啟動

    128

    重複執行

    ms188360.note(zh-tw,SQL.90).gif附註:
    這個參數已被取代,維護它的目的,只是為了與舊版的指令碼相容。這個屬性現在是在執行 sp_addsubscription 時,針對個別訂閱來指定的。指定值之後,它會成為在這個訂閱者端建立訂閱時的預設值,且會傳回一則警告訊息。
  • [@frequency_interval= ] frequency_interval
    這是 frequency_type 設定的頻率所套用的值。frequency_intervalint,預設值是 1。

    ms188360.note(zh-tw,SQL.90).gif附註:
    這個參數已被取代,維護它的目的,只是為了與舊版的指令碼相容。這個屬性現在是在執行 sp_addsubscription 時,針對個別訂閱來指定的。指定值之後,它會成為在這個訂閱者端建立訂閱時的預設值,且會傳回一則警告訊息。
  • [ @frequency_relative_interval=] frequency_relative_interval
    這是複寫代理程式的日期。當 frequency_type 設定為 32 (每月相對) 時,則使用這個參數。frequency_relative_intervalint,它可以是下列值之一。

    描述

    1 (預設值)

    第一個

    2

    第二個

    4

    第三個

    8

    第四個

    16

    最後一個

    ms188360.note(zh-tw,SQL.90).gif附註:
    這個參數已被取代,維護它的目的,只是為了與舊版的指令碼相容。這個屬性現在是在執行 sp_addsubscription 時,針對個別訂閱來指定的。指定值之後,它會成為在這個訂閱者端建立訂閱時的預設值,且會傳回一則警告訊息。
  • [ @frequency_recurrence_factor=] frequency_recurrence_factor
    這是 frequency_type 所用的循環因數。frequency_recurrence_factorint,預設值是 0

    ms188360.note(zh-tw,SQL.90).gif附註:
    這個參數已被取代,維護它的目的,只是為了與舊版的指令碼相容。這個屬性現在是在執行 sp_addsubscription 時,針對個別訂閱來指定的。指定值之後,它會成為在這個訂閱者端建立訂閱時的預設值,且會傳回一則警告訊息。
  • [ @frequency_subday=] frequency_subday
    在定義的期間內,重新排程的頻率。frequency_subdayint,它可以是下列值之一。

    描述

    1

    一次

    2

    4 (預設值)

    分鐘

    8

    小時

    ms188360.note(zh-tw,SQL.90).gif附註:
    這個參數已被取代,維護它的目的,只是為了與舊版的指令碼相容。這個屬性現在是在執行 sp_addsubscription 時,針對個別訂閱來指定的。指定值之後,它會成為在這個訂閱者端建立訂閱時的預設值,且會傳回一則警告訊息。
  • [ @frequency_subday_interval=] frequency_subday_interval
    這是 frequency_subday 的間隔。frequency_subday_intervalint,預設值是 5

    ms188360.note(zh-tw,SQL.90).gif附註:
    這個參數已被取代,維護它的目的,只是為了與舊版的指令碼相容。這個屬性現在是在執行 sp_addsubscription 時,針對個別訂閱來指定的。指定值之後,它會成為在這個訂閱者端建立訂閱時的預設值,且會傳回一則警告訊息。
  • [ @active_start_time_of_day=] active_start_time_of_day
    這是第一次排程複寫代理程式的當日時間,格式為 HHMMSS。active_start_time_of_dayint,預設值是 0

    ms188360.note(zh-tw,SQL.90).gif附註:
    這個參數已被取代,維護它的目的,只是為了與舊版的指令碼相容。這個屬性現在是在執行 sp_addsubscription 時,針對個別訂閱來指定的。指定值之後,它會成為在這個訂閱者端建立訂閱時的預設值,且會傳回一則警告訊息。
  • [ @active_end_time_of_day=] active_end_time_of_day
    這是排程停止複寫代理程式的當日時間,格式為 HHMMSS。active_end_time_of_dayint,預設值是 235959,表示 24 小時制的下午 11:59:59。

    ms188360.note(zh-tw,SQL.90).gif附註:
    這個參數已被取代,維護它的目的,只是為了與舊版的指令碼相容。這個屬性現在是在執行 sp_addsubscription 時,針對個別訂閱來指定的。指定值之後,它會成為在這個訂閱者端建立訂閱時的預設值,且會傳回一則警告訊息。
  • [ @active_start_date=] active_start_date
    這是第一次排程複寫代理程式的日期,格式為 YYYYMMDD。active_start_dateint,預設值是 0。

    ms188360.note(zh-tw,SQL.90).gif附註:
    這個參數已被取代,維護它的目的,只是為了與舊版的指令碼相容。這個屬性現在是在執行 sp_addsubscription 時,針對個別訂閱來指定的。指定值之後,它會成為在這個訂閱者端建立訂閱時的預設值,且會傳回一則警告訊息。
  • [ @active_end_date=] active_end_date
    這是排程停止複寫代理程式的日期,格式為 YYYYMMDD。active_end_dateint,預設值是 99991231,表示 9999 年 12 月 31 日。

    ms188360.note(zh-tw,SQL.90).gif附註:
    這個參數已被取代,維護它的目的,只是為了與舊版的指令碼相容。這個屬性現在是在執行 sp_addsubscription 時,針對個別訂閱來指定的。指定值之後,它會成為在這個訂閱者端建立訂閱時的預設值,且會傳回一則警告訊息。
  • [ @description=] 'description'
    這是訂閱者的文字描述。descriptionnvarchar(255),預設值是 NULL。
  • [ @security_mode=] security_mode
    這是實作的安全性模式。security_modeint,預設值是 1。0 指定 SQL Server 驗證。1 指定 Windows 驗證。

    ms188360.note(zh-tw,SQL.90).gif附註:
    這個參數已被取代,維護它的目的,只是為了與舊版的指令碼相容。這個屬性現在是在執行 sp_addsubscription 時,針對個別訂閱來指定的。指定值之後,它會成為在這個訂閱者端建立訂閱時的預設值,且會傳回一則警告訊息。
  • [ @encrypted_password=] encrypted_password
    這個參數已被取代,提供這個參數的目的,只是為了與舊版相容。將 encrypted_password 設為 0 以外的任何值,都會產生錯誤。
  • [ @publisher= ] 'publisher'
    指定非 SQL Server 發行者。publishersysname,預設值是 NULL。

    ms188360.note(zh-tw,SQL.90).gif附註:
    當從非 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 程式設計)

說明及資訊

取得 SQL Server 2005 協助