檢視及修改提取訂閱屬性
本主題描述如何使用 SQL Server Management Studio、Transact-SQL 或 Replication Management Objects (RMO) ,在 SQL Server 2014 中檢視和修改提取訂閱屬性。
本主題內容
若要檢視及修改提取訂閱屬性,請使用:
使用 SQL Server Management Studio
在 [訂閱屬性 - < 發行 > 者: < PublicationDatabase >] 對話方塊中,從發行者或訂閱者檢視提取訂閱屬性,可從SQL Server Management Studio取得。 「訂閱者」可看見更多屬性,而屬性可於「訂閱者」端修改。 您也可以從 [所有訂閱] 索引標籤上的「發行者」檢視屬性,該索引標籤位於「複寫監視器」中。 如需啟動複寫監視器的詳細資訊,請參閱啟動複寫監視器。
從 Management Studio 中的發行者檢視提取訂閱屬性
連線 Management Studio 發行者,然後展開伺服器節點。
展開 [複寫] 資料夾,然後展開 [本機發行集] 資料夾。
展開適當的發行集,以滑鼠右鍵按一下訂閱,然後按一下 [屬性] 。
檢視屬性,然後按一下 [確定] 。
從 Management Studio 中的訂閱者檢視和修改提取訂閱屬性
連線 Management Studio 訂閱者,然後展開伺服器節點。
展開 [複寫] 資料夾,然後展開 [本機訂閱] 資料夾。
以滑鼠右鍵按一下訂閱,然後按一下 [屬性] 。
必要時修改任何屬性,然後按一下 [確定] 。
從複寫監視器中的發行者檢視提取訂閱屬性
在複寫監視器的左窗格中展開發行者群組,展開發行者,然後按一下發行集。
按一下 [所有訂閱] 索引標籤。
以滑鼠右鍵按一下訂閱,然後按一下 [屬性] 。
檢視屬性,然後按一下 [確定] 。
使用 TRANSACT-SQL
您可以使用複寫預存程序來以程式設計的方式修改提取訂閱及存取其屬性。 使用哪些預存程序要依訂閱所屬的發行集類型而定。
檢視快照式或交易式發行集之提取訂閱的屬性
在訂閱者上,執行 sp_helppullsubscription。 指定 @publisher、 @publisher_db和 @publication。 這樣會傳回儲存於訂閱者上之系統資料表內的訂閱相關資訊。
在訂閱者上,執行 sp_helpsubscription_properties。 指定 @publisher、 @publisher_db、 @publication及 @publication_type的下列其中一個值:
0 - 訂閱屬於交易式發行集。
1 - 訂閱屬於快照式發行集。
在發行者上,執行 sp_helpsubscription。 指定 @publication 和 @subscriber。
在發行者端,執行 sp_helpsubscriberinfo,指定 @subscriber。 這樣會顯示與訂閱者有關的資訊。
變更快照式或交易式發行集之提取訂閱的屬性
在訂閱者上,執行 sp_change_subscription_properties,指定 @publisher、 @publisher_db、 @publication、 @publication_type 的 0 (交易式) 或 1(快照式) 的值、變更為 @property的訂閱屬性,以及當做 @value的新值。
(選擇性) 在訂閱資料庫的訂閱者上,執行 sp_changesubscriptiondtsinfo。 針對 @jobid指定散發代理程式作業的識別碼以及下列 Data Transformation Services (DTS) 封裝屬性:
@dts_package_name
@dts_package_password
@dts_package_location
這樣會變更訂閱的 DTS 封裝屬性。
注意
可以執行 sp_helpsubscription來取得作業識別碼。
檢視合併式發行集之提取訂閱的屬性
在訂閱者上,執行 sp_helpmergepullsubscription。 指定 @publisher、 @publisher_db和 @publication。
在訂閱者上,執行 sp_helpsubscription_properties。 指定 @publisher、 @publisher_db、 @publication及 @publication_type的值 2。
在發行者上執行 sp_helpmergesubscription ,以顯示訂閱資訊。 若要傳回特定訂閱的相關資訊,您必須指定 @publication、 @subscriber及 @subscription_type 的 pull值。
在發行者端,執行 sp_helpsubscriberinfo,指定 @subscriber。 這樣會顯示與訂閱者有關的資訊。
變更合併式發行集之提取訂閱的屬性
- 在訂閱者上,執行 sp_changemergepullsubscription。 指定 @publication、 @publisher、 @publisher_db、變更為 @property的訂閱屬性,以及當做 @value的新值。
使用 Replication Management Objects (RMO)
用於檢視或修改提取訂閱屬性的 RMO 類別,將取決於該提取訂閱所訂閱的發行集類型而定。
檢視或修改快照式或交易式發行集之提取訂閱的屬性
使用 ServerConnection 類別建立與「訂閱者」的連接。
建立 TransPullSubscription 類別的執行個體。
設定 PublicationName、 DatabaseName、 PublisherName和 PublicationDBName 屬性。
針對 ConnectionContext 屬性設定步驟 1 中的連接。
呼叫 LoadProperties 方法以取得物件的屬性。 如果此方法傳回
false
,則表示步驟 3 中的訂閱屬性定義不正確,或者此訂閱不存在於伺服器上。(選擇性) 若要變更屬性,請針對其中一個可設定的 TransPullSubscription 屬性設定新的值,然後呼叫 CommitPropertyChanges 方法。
(選擇性) 若要檢視新的設定,請呼叫 Refresh 方法,重新載入發行項的屬性。
關閉所有連接。
檢視或修改合併式發行集之提取訂閱的屬性
使用 ServerConnection 類別建立與「訂閱者」的連接。
建立 MergePullSubscription 類別的執行個體。
設定 PublicationName、 DatabaseName、 PublisherName和 PublicationDBName 屬性。
針對 ConnectionContext 屬性設定步驟 1 中的連接。
呼叫 LoadProperties 方法以取得物件的屬性。 如果此方法傳回
false
,則表示步驟 3 中的訂閱屬性定義不正確,或者此訂閱不存在於伺服器上。(選擇性) 若要變更屬性,請針對其中一個可設定的 MergePullSubscription 屬性設定新的值,然後呼叫 CommitPropertyChanges 方法。
(選擇性) 若要檢視新的設定,請呼叫 Refresh 方法,重新載入發行項的屬性。
關閉所有連接。