切換可更新之交易式訂閱的更新模式
本主題描述如何使用 SQL Server Management Studio 或 Transact-SQL,在 SQL Server 2014 中切換可更新交易訂閱的更新模式。 使用「新增訂閱精靈」指定可更新訂閱的模式。 如需使用此精靈時設定模式的資訊,請參閱檢視及修改提取訂閱屬性。
開始之前
限制事項
- 您可以隨時從立即更新容錯移轉到到佇列更新。 不過在進行這項作業之後,在「訂閱者」和「發行者」連接,且「佇列讀取器代理程式」將佇列中所有暫止訊息套用至「發行者」之前,無法切換回立即更新。
建議
- 當交易式訂閱的更新訂閱支援從一種更新模式容錯移轉到另一種模式時,您可以透過程式設計的方式切換更新模式,以處理連接在短時間內變更的情況。 您可以使用複寫預存程序,以程式設計的方式並視需要而設定更新模式。 如需詳細資訊,請參閱 Updatable Subscriptions for Transactional Replication。
使用 SQL Server Management Studio
注意
若要在建立訂閱後變更更新模式,則須在建立訂閱時將 update_mode 屬性設為 failover (允許從立即更新切換到佇列更新) 或 queued failover (允許從佇列更新切換到立即更新)。 這些屬性會自動在「新增訂閱精靈」中設定。
若要設定發送訂閱的更新模式
連線到 SQL Server Management Studio 中的訂閱者,然後展開伺服器節點。
展開 [複寫] 資料夾,然後展開 [本機訂閱] 資料夾。
以滑鼠右鍵按一下您要設定更新模式的訂閱,再按一下 [設定更新方法] 。
在 [設定更新方法 - <訂閱者>:<訂閱資料庫>] 對話方塊中,選取 [立即更新] 或 [佇列更新]。
按一下 [確定] 。
若要設定提取訂閱的更新模式
在 [訂閱屬性 - <發行者>:<發行資料庫>] 對話方塊中,選取 [立即複寫變更] 的值或 [訂閱者更新方法] 選項的 [佇列變更]。
按一下 [確定] 。
如需存取 [訂閱屬性 - <發行者>:<發行集資料庫>] 對話方塊的相關詳細資訊,請參閱檢視及修改提取訂閱屬性。
使用 TRANSACT-SQL
切換更新模式
針對提取訂閱執行 sp_helppullsubscription ,或針對發送訂閱執行 sp_helpsubscription ,確定訂閱支援容錯移轉。 如果結果集中 update mode 的值是 3 或 4,即支援容錯移轉。
在訂閱資料庫的「訂閱者」端執行 sp_setreplfailovermode。 指定 @publisher、 @publisher_db、 @publication和 @failover_mode的下列其中一個值:
queued - 當連接已暫時遺失時,容錯移轉到佇列更新。
immediate - 當連接已還原時,容錯移轉到立即更新。