共用方式為


檢視和解決合併式發行集的資料衝突(SQL Server Management Studio)

合併式複寫中的衝突會根據針對每個文章指定的解析程序來解決。 根據預設,衝突會解決,而不需要使用者介入。 但是,您可以在Microsoft複寫衝突查看器中檢視衝突,並變更解決結果。

衝突數據可在複寫衝突查看器中取得衝突保留期間所指定的時間量(預設值為 14 天)。 若要設定衝突保留期間,您可以選擇以下其中一種方式:

根據預設,衝突資訊會儲存:

  • 在發行者與訂閱者端,如果發行集相容性層級為 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)。

檢視並解決合併發行物的衝突

  1. 在 Microsoft SQL Server Management Studio 中連接到發行者(或訂閱者),然後展開伺服器節點。

  2. 展開 複寫 資料夾,然後展開 本機發行集 資料夾。

  3. 以滑鼠右鍵按一下您要檢視衝突的發行集,然後按 [ 檢視衝突]。

    備註

    如果您為 conflict_logging 屬性指定了 'subscriber' 值,則無法使用 [檢視衝突] 功能表選項。 若要檢視衝突,請在命令提示字元中輸入 ConflictViewer.exe。 根據預設,ConflictViewer.exe 位於下列目錄中:Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE。 如需有效的啟動參數清單,請執行 ConflictViewer.exe -?.

  4. 在 [ 選取衝突數據表] 對話框中,選取要檢視衝突的資料庫、發行集和數據表。

  5. 在複寫衝突查看器中,您可以:

    • 使用上方方格右邊的按鈕來篩選數據列。

    • 選取上方方格中的數據列,以顯示下方方格中該數據列的資訊。

    • 選取上方方格中的一或多個數據列,然後按兩下 [ 移除],這相當於按兩下 [ 提交優勝者 ] 按鈕(但不對數據進行任何變更)。

    • 按一下 [屬性] 按鈕(...)以查看涉及衝突的欄位的更多資訊。

    • 在送出數據之前,在 衝突勝出者衝突輸家 數據行中編輯數據(如果數據行是灰色,則數據是唯讀的)。

    • 按兩下 [提交優勝者 ] 接受指定為衝突獲勝者的數據列。

    • 按一下 提交衝突失敗者 來覆寫決策,並將指定為衝突失敗者的值傳播至拓撲中的所有節點。

    • 選取 [記錄此衝突的詳細 數據],將衝突數據記錄至檔案。 若要指定檔案的位置,請指向 [ 檢視 ] 功能表,然後按下 [ 選項]。 輸入值,或按下瀏覽按鈕 (...),然後流覽至適當的檔案。 按兩下 [確定 ] 結束 [ 選項 ] 對話框。

  6. 關閉複寫衝突查看器。

另請參閱

進階的合併複製衝突檢測與解析
指定合併文章解析程式