如何:指定合併發行項指定互動式衝突解決 (複寫 Transact-SQL 程式設計)
MicrosoftSQL Server 複寫提供互動式解決器,可讓您在 Microsoft Windows Synchronization Manager 中於需要同步處理期間手動解決衝突。您可以透過程式設計方式指定在建立合併式發行集的提取訂閱時,訂閱者將使用此圖形化介面來解決發行項衝突。只有支援此選項之發行項中的衝突才會顯示在互動式解決器中。互動式解決需要 Windows Synchronization Manager。如果是在 Windows Synchronization Manager 之外執行同步處理 (如 SQL Server Management Studio 或複寫監視器中已排程的同步處理或視需要同步處理),則不需要使用者的介入,就會使用針對發行項指定的預設衝突解決方式來自動解決衝突。如需詳細資訊,請參閱<互動式衝突解決>。
建立使用互動式解決器的合併式提取訂閱
在發行集資料庫的發行者上執行 sp_helpmergearticle,指定 @publication。請記下結果集中每一個發行項的 allow_interactive_resolver 值 (互動式解決器將針對它來使用)。
如果這個值是 1,將會使用互動式解決器。
如果這個值是 0,您必須先針對每一個發行項啟用互動式解決器。若要這樣做,請執行 sp_changemergearticle,指定 @publication、@article,並針對 @property 指定 allow_interactive_resolver 的值及針對 @value 指定 true 的值。
在訂閱資料庫的訂閱者上,執行 sp_addmergepullsubscription。如需詳細資訊,請參閱<如何: 建立提取訂閱 (複寫 Transact-SQL 程式設計)>。
在訂閱資料庫的訂閱者上,執行 sp_addmergepullsubscription_agent 並指定下列參數:
@publisher、@publisher_db (發行的資料庫) 和 @publication。
為 @enabled_for_syncmgr 設定 true 的值。
為 @use_interactive_resolver 設定 true 的值。
合併代理程式所需的安全性帳戶資訊。如需詳細資訊,請參閱<如何: 建立提取訂閱 (複寫 Transact-SQL 程式設計)>。
在發行集資料庫的發行者上,執行 sp_addmergesubscription。
定義支援互動式解決器的發行項
- 在發行集資料庫的發行者上,執行 sp_addmergearticle。針對 @publication 指定發行項所屬的發行集名稱、針對 @article 指定發行項名稱、針對 @source_object 指定發行的資料庫物件,以及針對 @allow_interactive_resolver 指定 true 的值。如需詳細資訊,請參閱<如何:定義發行項 (複寫 Transact-SQL 程式設計)>。