合併式複寫中的衝突會根據針對每個文章指定的解析程序來解決。 根據預設,衝突會解決,而不需要使用者介入。 但是,您可以在Microsoft複寫衝突查看器中檢視衝突,並變更解決結果。
衝突數據可在複寫衝突查看器中取得衝突保留期間所指定的時間量(預設值為 14 天)。 若要設定衝突保留期間,您可以選擇以下其中一種方式:
為 sp_addmergepublication (Transact-SQL) 的 @conflict_retention 參數指定保留值。
為 @property 參數指定 conflict_retention 值,併為 sp_changemergepublication (Transact-SQL) 的 @value 參數指定保留值。
根據預設,衝突資訊會儲存:
在發行者與訂閱者端,如果發行集相容性層級為 90RTM 或更高版本。
如果發行集的相容性層級低於 80RTM,則在發行者端會發生此情況。
在訂閱者執行 SQL Server Compact 的情況下,請在發行者端操作。 衝突數據無法儲存在 SQL Server Compact 訂閱者上。
衝突信息的儲存是由 conflict_logging 發行集屬性所控制。 如需詳細資訊,請參閱sp_addmergepublication(Transact-SQL)和sp_changemergepublication(Transact-SQL)。
在同步處理期間,可以使用 Microsoft 互動式解析程式來解決衝突。 互動式解析程式可透過 Microsoft Windows Synchronization Manager 取得。 如需詳細資訊,請參閱使用 Windows Synchronization Manager 同步處理訂閱(Windows Synchronization Manager)。
檢視並解決合併發行物的衝突
在 Microsoft SQL Server Management Studio 中連接到發行者(或訂閱者),然後展開伺服器節點。
展開 複寫 資料夾,然後展開 本機發行集 資料夾。
以滑鼠右鍵按一下您要檢視衝突的發行集,然後按 [ 檢視衝突]。
備註
如果您為 conflict_logging 屬性指定了 'subscriber' 值,則無法使用 [檢視衝突] 功能表選項。 若要檢視衝突,請在命令提示字元中輸入 ConflictViewer.exe。 根據預設,ConflictViewer.exe 位於下列目錄中:Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE。 如需有效的啟動參數清單,請執行 ConflictViewer.exe -?.
在 [ 選取衝突數據表] 對話框中,選取要檢視衝突的資料庫、發行集和數據表。
在複寫衝突查看器中,您可以:
使用上方方格右邊的按鈕來篩選數據列。
選取上方方格中的數據列,以顯示下方方格中該數據列的資訊。
選取上方方格中的一或多個數據列,然後按兩下 [ 移除],這相當於按兩下 [ 提交優勝者 ] 按鈕(但不對數據進行任何變更)。
按一下 [屬性] 按鈕(...)以查看涉及衝突的欄位的更多資訊。
在送出數據之前,在 衝突勝出者 或 衝突輸家 數據行中編輯數據(如果數據行是灰色,則數據是唯讀的)。
按兩下 [提交優勝者 ] 接受指定為衝突獲勝者的數據列。
按一下 提交衝突失敗者 來覆寫決策,並將指定為衝突失敗者的值傳播至拓撲中的所有節點。
選取 [記錄此衝突的詳細 數據],將衝突數據記錄至檔案。 若要指定檔案的位置,請指向 [ 檢視 ] 功能表,然後按下 [ 選項]。 輸入值,或按下瀏覽按鈕 (...),然後流覽至適當的檔案。 按兩下 [確定 ] 結束 [ 選項 ] 對話框。
關閉複寫衝突查看器。