MSmerge_conflicts_info (Transact-SQL)

MSmerge_conflicts_info 資料表會追蹤在同步處理合併式發行集的訂閱時所發生的衝突。遺失的衝突資料列資料,是儲存在代表發生衝突之發行項的 MSmerge_conflict_publication_article 資料表中。這份資料表儲存在發行集資料庫的發行者端,以及訂閱資料庫的訂閱者端。

資料行名稱

資料類型

描述

tablenick

int

已發行資料表的暱稱。

rowguid

uniqueidentifier

衝突資料列的識別碼。

origin_datasource

nvarchar(255)

引發衝突變更的資料庫名稱。

conflict_type

int

發生衝突的類型,它可以是下列項目之一:

1 = 更新衝突:在資料列層級偵測到衝突。

2 = 資料行更新衝突:在資料行層級偵測到衝突。

3 = 更新刪除成功衝突:刪除在衝突中成功。

4 = 更新成功刪除衝突:衝突失敗且已刪除的 rowguid 會記錄在這份資料表中。

5 = 上載插入失敗:訂閱者的插入無法套用在發行者端。

6 = 下載插入失敗:發行者的插入無法套用在訂閱者端。

7 = 上載刪除失敗:訂閱者端的刪除無法上載到發行者。

8 = 下載刪除失敗:發行者端的刪除無法下載到訂閱者。

9 = 上載更新失敗:訂閱者端的更新無法套用在發行者端。

10 = 下載更新失敗:發行者端的更新無法套用在訂閱者端。

11 = 解決

12 = 邏輯記錄更新成功刪除:衝突失敗且已刪除的邏輯記錄會記錄在這份資料表中。

13 = 邏輯記錄衝突插入更新:邏輯記錄的插入與更新發生衝突。

14 = 邏輯記錄刪除成功更新衝突:衝突失敗且已更新的邏輯記錄會記錄在這份資料表中。

reason_code

int

可為內容相關的錯誤碼。如果更新與更新以及更新與刪除之間發生衝突,則這個資料行所用的值與 conflict_type 的值相同。但是,對於無法變更衝突,原因代碼將為錯誤,以防止「合併代理程式」套用變更。例如,如果因主索引鍵違規而使「合併代理程式」無法在「訂閱者」端套用插入,它便會將 conflict_type 記錄為 6 (「下載插入失敗」),並將 reason_code 記錄為 2627,表示主索引鍵違規的 SQL Server 內部錯誤訊息:「違反 %ls 條件約束 '%.*ls'。無法在物件 '%.*ls' 中插入重複的索引鍵。」

reason_text

nvarchar(720)

可為內容相關的錯誤描述。

pubid

uniqueidentifier

發行集的識別碼。

MSrepl_create_time

datetime

發生衝突的時間。

origin_datasource_id

uniqueidentifier

引發衝突變更的資料庫識別碼。