sp_changesubscription (Transact-SQL)

變更快照集或交易式發送訂閱的屬性,或變更佇列更新交易式複寫所涉及的提取訂閱的屬性。若要變更所有其他類型之提取訂閱的屬性,請使用 sp_change_subscription_properties (Transact-SQL)sp_changesubscription 會在發行集資料庫的發行者端執行。

安全性注意事項安全性注意事項

當利用遠端散發者來設定發行者時,提供給所有參數的值 (包括 job_login 和 job_password) 都會以純文字的方式傳給散發者。您應該先加密「發行者」及其遠端「散發者」之間的連接,再執行這個預存程序。如需詳細資訊,請參閱<加密 SQL Server 的連接>。

主題連結圖示Transact-SQL 語法慣例

語法

sp_changesubscription [ @publication = ] 'publication'
        , [ @article = ] 'article'
        , [ @subscriber = ] 'subscriber'
        , [ @destination_db = ] 'destination_db'
        , [ @property = ] 'property'
        , [ @value = ] 'value'
    [ , [ @publisher = ] 'publisher' ]

引數

  • [@publication= ] 'publication'
    這是要變更的發行集名稱。publication 是 sysname,沒有預設值。

  • [@article = ] 'article'
    這是要變更的發行項名稱。article 是 sysname,沒有預設值。

  • [@subscriber = ] 'subscriber'
    這是訂閱者的名稱。subscriber 是 sysname,沒有預設值。

  • [@destination_db = ] 'destination_db'
    這是訂閱資料庫的名稱。destination_db 是 sysname,沒有預設值。

  • [@property=] 'property'
    這是給定訂閱要變更的屬性。property 是 nvarchar(30),它可以是下表中的值之一。

  • [@value=] 'value'
    這是指定之 property 的新值。value 是 nvarchar(4000),它可以是資料表中的值之一。

    屬性

    描述

    distrib_job_login

     

    用來執行代理程式之 Microsoft Windows 帳戶的登入。

    distrib_job_password

     

    用來執行代理程式之 Windows 帳戶的密碼。

    subscriber_catalog

    建立 OLE DB 提供者連接時所用的目錄。這個屬性僅適用於非 Microsoft SQL Server 訂閱者。

    subscriber_datasource

    OLE DB 提供者所瞭解的資料來源名稱。這個屬性僅適用於非 SQL Server 訂閱者。

    subscriber_location

    OLE DB 提供者所瞭解的資料庫位置。這個屬性僅適用於非 SQL Server 訂閱者。

    subscriber_login

     

    訂閱者的登入名稱。

    subscriber_password

     

    提供之登入的增強式密碼。

    subscriber_security_mode

    1

    當連接到發行者時,使用 Windows 驗證。

     

    0

    當連接到訂閱者時,使用 SQL Server 驗證。

    subscriber_provider

    非 SQL Server 資料來源的 OLE DB 提供者登錄所用的唯一程式設計識別碼 (PROGID)。這個屬性僅適用於非 SQL Server 訂閱者。

    subscriber_providerstring

    OLE DB 提供者特定的連接字串,用來識別資料來源。這個屬性僅適用於非 SQL Server 訂閱者。

    subscriptionstreams

    這是每個散發代理程式將數批變更並行套用在訂閱者時所能使用的連接數目。SQL Server 發行者所支援的值範圍是 164。對於非 SQL Server 訂閱者、Oracle 發行者或點對點訂閱來說,這個屬性必須是 0

    subscriber_type

    1

    ODBC 資料來源伺服器

    3

    OLE DB 提供者

  • [@publisher = ] 'publisher'
    指定非 SQL Server 發行者。publisher 是 sysname,預設值是 NULL。

    [!附註]

    SQL Server 發行者不應指定 publisher。

傳回碼值

0 (成功) 或 1 (失敗)

備註

sp_changesubscription 用於快照式和交易式複寫中。

sp_changesubscription 只能用來修改佇列更新交易式複寫所用之發送訂閱或提取訂閱的內容。若要變更所有其他類型之提取訂閱的屬性,請使用 sp_change_subscription_properties (Transact-SQL)

變更代理程式的登入或密碼之後,您必須先停止並重新啟動代理程式,變更才會生效。

權限

只有系統管理員 (sysadmin) 固定伺服器角色或 db_owner 固定資料庫角色的成員,才能夠執行 sp_changesubscription