指定合併發行項的互動式衝突解決方法
本主題描述如何使用 SQL Server Management Studio 或 Transact-SQL,在 SQL Server 2012 中針對合併發行項指定互動式衝突解決方法。
Microsoft SQL Server 複寫提供互動式解決器,可讓您在 Microsoft Windows Synchronization Manager 中於需要同步處理期間手動解決衝突。 在啟用互動式解決方案之後,在同步處理期間會使用「互動解決器」以互動方式解決衝突。 互動解決器可以從 Microsoft Windows Synchronization Manager 使用。 如需詳細資訊,請參閱<使用 Windows Synchronization Manager 同步處理訂閱 (Windows Synchronization Manager)>。
本主題內容
開始之前:
建議
若要指定合併發行項的互動式衝突解決方法,請使用:
SQL Server Management Studio
Transact-SQL
開始之前
建議
- 如果是在 Windows Synchronization Manager 之外執行同步處理 (如 SQL Server Management Studio 或複寫監視器中已排程的同步處理或視需要同步處理),則不需要使用者的介入,就會使用針對發行項指定的預設衝突解決方式來自動解決衝突。 如需詳細資訊,請參閱<互動式衝突解決>。
[Top]
使用 SQL Server Management Studio
若要啟用發行項的互動式衝突解決方案
在「新增發行集精靈」的 [發行項] 頁面,或者在 [發行集屬性 - <Publication>] 對話方塊中,選取一個資料表。 如需有關使用此精靈及存取此對話方塊的詳細資訊,請參閱<建立發行集>和<檢視及修改發行集屬性>。
按一下 [發行項屬性],然後按一下 [設定反白顯示資料表發行項的屬性] 或 [設定所有資料表發行項的屬性]。
在 [發行項屬性 - <Article>] 或 [發行項屬性 - <ArticleType>] 頁面中,按一下 [解決器] 標籤。
選取 [允許訂閱者在依要求同步期間,以互動方式解決衝突]。
按一下 [確定]。
如果您是在 [發行集屬性 - <Publication>] 對話方塊中,請按一下 [確定] 以儲存並關閉對話方塊。
若要指定訂閱應使用互動式衝突解決方案
在 [訂閱屬性 - <Subscriber>: <SubscriptionDatabase>] 對話方塊中,為 [以互動方式解決衝突] 選項指定 [True] 值。 如需有關存取這個對話方塊的詳細資訊,請參閱<檢視及修改發送訂閱屬性>與<檢視及修改提取訂閱屬性>。
按一下 [確定]。
[Top]
使用 Transact-SQL
您可以透過程式設計方式指定在建立合併式發行集的提取訂閱時,訂閱者將使用此圖形化介面來解決發行項衝突。 只有支援此選項之發行項中的衝突才會顯示在互動式解決器中。
建立使用互動式解決器的合併式提取訂閱
在發行集資料庫的發行者上執行 sp_helpmergearticle,指定 @publication。 請記下結果集中每一個發行項的 allow_interactive_resolver 值 (互動式解決器將針對它來使用)。
如果這個值是 1,將會使用互動式解決器。
如果這個值是 0,您必須先針對每一個發行項啟用互動式解決器。 若要這樣做,請執行 sp_changemergearticle,指定 @publication、@article,並針對 @property 指定 allow_interactive_resolver 的值及針對 @value 指定 true 的值。
在訂閱資料庫的訂閱者上,執行 sp_addmergepullsubscription。 如需詳細資訊,請參閱<建立提取訂閱>。
在訂閱資料庫的訂閱者上,執行 sp_addmergepullsubscription_agent 並指定下列參數:
@publisher、@publisher_db (發行的資料庫) 和 @publication。
為 @enabled_for_syncmgr 設定 true 的值。
為 @use_interactive_resolver 設定 true 的值。
合併代理程式所需的安全性帳戶資訊。 如需詳細資訊,請參閱<建立提取訂閱>。
在發行集資料庫的發行者上,執行 sp_addmergesubscription。
定義支援互動式解決器的發行項
- 在發行集資料庫的發行者上,執行 sp_addmergearticle。 針對 @publication 指定發行項所屬的發行集名稱、針對 @article 指定發行項名稱、針對 @source_object 指定發行的資料庫物件,以及針對 @allow_interactive_resolver 指定 true 的值。 如需詳細資訊,請參閱<定義發行項>。
[Top]
請參閱
工作
檢視並解決合併式發行集的資料衝突 (SQL Server Management Studio)