檢視及修改發送訂閱屬性
此主題描述如何使用 SQL Server Management Studio、Transact-SQL 或 Replication Management Objects (RMO),檢視和修改 SQL Server 中的發送訂閱屬性。
注意
Azure SQL 受控執行個體可以是快照式與異動複寫的發行者、散發者與訂閱者。 Azure SQL Database 中的資料庫只能是快照式與異動複寫的發送訂閱者。 如需詳細資訊,請參閱使用 Azure SQL Database 和 Azure SQL 受控執行個體的異動複寫。
使用 SQL Server Management Studio
從「發行者」在以下項目中檢視並修改發送訂閱屬性:
[訂閱屬性 -< 發行者>:<PublicationDatabase>] 對話方塊,您可從 SQL Server Management Studio 存取該對話方塊。
[所有訂閱] 索引標籤,在「複寫監視器」中可用。 如需啟動複寫監視器的詳細資訊,請參閱啟動複寫監視器。
若要在 Management Studio 中檢視並修改發送訂閱屬性
連線到 Management Studio 中的發行者,然後展開伺服器節點。
展開 [複寫] 資料夾,然後展開 [本機發行集] 資料夾。
展開適當的發行集,以滑鼠右鍵按一下訂閱,然後按一下 [屬性] 。
必要時修改任何屬性,然後按一下 [確定] 。
若要在複寫監視器中檢視和修改發送訂閱屬性
在複寫監視器的左窗格中展開發行者群組,展開發行者,然後按一下發行集。
按一下 [所有訂閱] 索引標籤。
以滑鼠右鍵按一下訂閱,然後按一下 [屬性] 。
必要時修改任何屬性,然後按一下 [確定] 。
使用 TRANSACT-SQL
您可以使用複寫預存程序來以程式設計的方式修改發送訂閱及存取其屬性。 使用哪些預存程序要依訂閱所屬的發行集類型而定。
檢視快照式或交易式發行集之發送訂閱的屬性
在發行集資料庫的發行者上,執行 sp_helpsubscription。 指定 @publication、 @subscriber,並針對 @article 指定 all的值。
在發行集資料庫的發行者上,執行 sp_helpsubscriberinfo,並指定 @subscriber。
變更快照式或交易式發行集之發送訂閱的屬性
在發行集資料庫的發行者上,執行 sp_changesubscriber,並指定 @subscriber 及針對所變更的訂閱者屬性指定任何參數。
在發行集資料庫的發行者上,執行 sp_changesubscription。 指定 @publication、 @subscriber、 @destination_db,並將 @article 指定為 all的值、將變更的訂閱屬性指定為 @property,並將新的值指定為 @value。 這樣會變更發送訂閱的安全性設定。
(選擇性) 若要變更訂閱的 Data Transformation Services (DTS) 封裝屬性,請在訂閱資料庫的訂閱者上,執行 sp_changesubscriptiondtsinfo 。 針對 @jobid 指定散發代理程式作業的識別碼以及下列 DTS 封裝屬性:
@dts_package_name
@dts_package_password
@dts_package_location
這樣會變更訂閱的 DTS 封裝屬性。
注意
可以執行 sp_helpsubscription來取得作業識別碼。
檢視合併式發行集之發送訂閱的屬性
在發行集資料庫的發行者上,執行 sp_helpmergesubscription。 指定 @publication 和 @subscriber。
在發行者端,執行 sp_helpsubscriberinfo,指定 @subscriber。
變更合併式發行集之發送訂閱的屬性
- 在發行集資料庫的發行者上,執行 sp_changemergesubscription。 指定 @publication、 @subscriber、 @subscriber_db、將變更的訂閱屬性指定為 @property,並將新值指定為 @value。
範例 (Transact-SQL)
使用 Replication Management Objects (RMO)
用於檢視或修改發送訂閱屬性的 RMO 類別,將取決於該發送訂閱所訂閱的發行集類型而定。
檢視或修改快照式或交易式發行集之發送訂閱的屬性
使用 ServerConnection 類別建立與發行者的連接。
建立 TransSubscription 類別的執行個體。
設定 PublicationName、 DatabaseName、 SubscriberName和 SubscriptionDBName 屬性。
針對 ServerConnection 屬性設定步驟 1 中的 ConnectionContext 。
呼叫 LoadProperties 方法以取得物件的屬性。 如果此方法傳回 false,則表示步驟 3 中的訂閱屬性定義不正確,或者此訂閱不存在。
(選擇性) 若要變更屬性,請針對其中一個可設定的 TransSubscription 屬性設定新的值,然後呼叫 CommitPropertyChanges 方法。
(選擇性) 若要檢視新的設定,請呼叫 Refresh 方法,重新載入訂閱的屬性。
檢視或修改合併式發行集之發送訂閱的屬性
使用 ServerConnection 類別建立與「訂閱者」的連接。
建立 MergeSubscription 類別的執行個體。
設定 PublicationName、 DatabaseName、 SubscriberName和 SubscriptionDBName 屬性。
針對 ServerConnection 屬性設定步驟 1 中的 ConnectionContext 。
呼叫 LoadProperties 方法以取得物件的屬性。 如果此方法傳回 false,則表示步驟 3 中的訂閱屬性定義不正確,或者此訂閱不存在。
(選擇性) 若要變更屬性,請針對其中一個可設定的 MergeSubscription 屬性設定新的值,然後呼叫 CommitPropertyChanges 方法。
(選擇性) 若要檢視新的設定,請呼叫 Refresh 方法,重新載入訂閱的屬性。