sp_changesubscription (Transact-SQL)
適用於:SQL ServerAzure SQL 受控執行個體
變更快照式或交易式發送訂閱的屬性,或佇列更新事務複製所涉及的提取訂閱。 若要變更所有其他提取訂閱類型的屬性,請使用 sp_change_subscription_properties (Transact-SQL) 。 sp_changesubscription是在發行集資料庫的發行者端執行。
重要
當利用遠端散發者來設定發行者時,提供給所有參數的值 (包括 job_login 和 job_password) 都會以純文字的方式傳給散發者。 您應該先加密「發行者」及其遠端「散發者」之間的連接,再執行這個預存程序。 如需詳細資訊,請參閱啟用資料庫引擎的加密連線 (SQL Server 組態管理員)。
語法
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'
這是要變更指定訂用帳戶的屬性。 屬性 是 nvarchar(30),而且可以是數據表中的其中一個值。
[ @value = ] 'value'
這是指定 之屬性的新值。 value 是 nvarchar(4000),而且可以是數據表中的其中一個值。
屬性 | 數值 | Description |
---|---|---|
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 發行者支援從 1 到 64 的值範圍。 非 SQL Server 訂閱者、Oracle 發行者或點對點訂閱的這個屬性必須為 0 。 | |
subscriber_type | 1 | ODBC 資料源伺服器 |
3 | OLE DB 提供者 | |
memory_optimized | bit | 表示訂用帳戶支援記憶體優化數據表。 memory_optimized位,其中1等於 true(訂用帳戶支援記憶體優化數據表)。 |
[ @publisher = ] 'publisher'
指定非 SQL Server 發行者。 publisher 是 sysname,預設值為 NULL。
注意
不應該為 SQL Server 發行者指定 publisher 。
傳回碼值
0 (成功) 或 1 (失敗)
備註
sp_changesubscription用於快照式和事務複製。
sp_changesubscription只能用來修改推送訂閱或提取訂閱的屬性,這些屬性涉及佇列更新事務複製。 若要變更所有其他提取訂閱類型的屬性,請使用 sp_change_subscription_properties (Transact-SQL) 。
變更代理程式的登入或密碼之後,您必須先停止並重新啟動代理程式,變更才會生效。
權限
只有系統管理員固定伺服器角色或db_owner固定資料庫角色的成員才能執行sp_changesubscription。
另請參閱
sp_addsubscription (Transact-SQL)
sp_dropsubscription (Transact-SQL)
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應