共用方式為


sp_changesubscription (Transact-SQL)

適用於:SQL Server Azure SQL 受控執行個體

變更快照式或交易式發送訂閱的屬性,或佇列更新事務複製所涉及的提取訂閱。 若要變更所有其他提取訂閱類型的屬性,請使用 sp_change_subscription_propertiessp_changesubscription 會在發行集資料庫的發行者端執行。

重要

使用遠端散發者設定發行者時,提供給所有參數的值,包括 @job_login@job_password,都會以純文本形式傳送給散發者。 您應該先加密「發行者」及其遠端「散發者」之間的連接,再執行這個預存程序。 如需詳細資訊,請參閱針對加密連線設定 SQL Server 資料庫引擎

Transact-SQL 語法慣例

語法

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

引數

[ @publication = ] N'publication'

要變更之發行集的名稱。 @publication為 sysname,沒有預設值。

[ @article = ] N'article'

要變更之發行項的名稱。 @article為 sysname,沒有預設值。

[ @subscriber = ] N'subscriber'

訂閱者的名稱。 @subscriber為 sysname,沒有預設值。

[ @destination_db = ] N'destination_db'

訂閱資料庫的名稱。 @destination_db為 sysname,沒有預設值。

[ @property = ] N'property'

要變更指定訂閱的屬性。 @property為 nvarchar(30),而且可以是數據表中的其中一個值。

[ @value = ] N'value'

指定 之屬性的新值。 @value為 nvarchar(4000),而且可以是數據表中的其中一個值。

屬性 數值 Description
distrib_job_login 執行代理程式的 Windows 帳戶登入。
distrib_job_password 代理程序執行所在的 Windows 帳戶密碼。
subscriber_catalog1 與 OLE DB 提供者建立連接時要使用的目錄。
subscriber_datasource1 OLE DB 提供者所了解的數據來源名稱。
subscriber_location1 OLE DB 提供者所了解的資料庫位置。
subscriber_login 訂閱者端的登入名稱。
subscriber_password 所提供登入的強密碼。
subscriber_security_mode 1 連接到訂閱者時,請使用 Windows 驗證。
0 連接到訂閱者時,請使用 SQL Server 驗證。
subscriber_provider1 註冊非 SQL Server 數據來源之 OLE DB 提供者的唯一程式設計標識碼 (PROGID)。
subscriber_providerstring1 識別數據源的 OLE DB 提供者特定 連接字串。
subscriptionstreams 每個 散發代理程式 允許的連線數目,以平行方式將變更批次套用至訂閱者。 SQL Server 發行者支援從 164 的值範圍。 此屬性必須為 0 非 SQL Server 訂閱者、Oracle 發行者或點對點訂閱。
subscriber_type 1 ODBC 資料源伺服器
3 OLE DB 提供者
memory_optimized bit 表示訂用帳戶支援記憶體優化數據表。 memory_optimizedbit,其中 1true (訂用帳戶支援記憶體優化數據表)。

1 此屬性僅適用於非 SQL Server 訂閱者。

[ @publisher = ] N'publisher'

指定非 SQL Server 發行者。 @publisher為 sysname,預設值為 NULL

不應該為 SQL Server 發行者指定@publisher

傳回碼值

0 (成功) 或 1 (失敗)。

備註

sp_changesubscription 用於快照式和事務複製。

sp_changesubscription 只能用來修改發送訂閱的屬性,或佇列更新事務複製所涉及的提取訂閱。 若要變更所有其他提取訂閱類型的屬性,請使用 sp_change_subscription_properties

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

權限

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