適用於:SQL Server
本主題描述如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中的可更新交易訂閱的更新模式之間切換。 使用「新增訂閱精靈」指定可更新訂閱的模式。 如需使用此精靈時設定模式的資訊,請參閱檢視及修改提取訂閱屬性。
限制事項
- 您可以隨時從立即更新容錯移轉至佇列更新。 不過,一旦這麼做之後,在「訂閱者」與「發行者」重新連線,且「佇列讀取器代理程式」已將佇列中所有擱置中的訊息套用至「發行者」之前,您都無法返回立即更新。
建議
- 當交易式發行集的可更新訂閱支援從一種更新模式容錯移轉到另一種更新模式時,您可以以程式設計方式切換更新模式,以因應連線能力在短時間內發生變化的情況。 您可以使用複寫預存程序,以程式設計的方式並視需要而設定更新模式。 如需詳細資訊,請參閱 異動式複寫的可更新訂閱。
使用 SQL Server Management Studio
注意
若要在建立訂閱後變更更新模式,則須在建立訂閱時將 update_mode 屬性設為 failover (允許從立即更新切換到佇列更新) 或 queued failover (允許從佇列更新切換到立即更新)。 這些屬性會自動在「新增訂閱精靈」中設定。
若要設定推播訂閱的更新模式
在 SQL Server Management Studio 中連接到訂閱者,然後展開伺服器節點。
展開 複寫 資料夾,然後展開 本地訂閱 資料夾。
以滑鼠右鍵按一下您要設定更新模式的訂閱,再按一下 [設定更新方法] 。
在 [設定更新方法 - <訂閱者>:<訂閱資料庫>] 對話方塊中,選取 [立即更新] 或 [佇列更新]。
選取 OK。
若要設定提取訂閱的更新模式
在 [訂閱屬性 - <發行者>:<發行資料庫>] 對話方塊中,選取 [立即複寫變更] 的值或 [訂閱者更新方法] 選項的 [佇列變更]。
選取 OK。
如需有關如何存取 訂閱屬性 - <發行者>:<發行資料庫> 對話方塊的詳細資訊,請參閱 檢視和修改提取訂閱屬性。
使用 TRANSACT-SQL
切換更新模式
執行提取式訂閱的 sp_helppullsubscription 或推送式訂閱的 sp_helpsubscription,以驗證訂閱是否支援容錯移轉。 如果結果集中的 更新模式 值為 3 或 4,則支援容錯移轉。
在訂閱資料庫的「訂閱者」端執行 sp_setreplfailovermode。 指定
@publisher、@publisher_db、@publication,並對@failover_mode指定下列其中一個值:queued - 當連線暫時中斷時,切換為佇列更新模式。
immediate - 當連線恢復後,切換為立即更新。