MSmerge_conflicts_info (Transact-SQL)
適用於:SQL Server
MSmerge_conflicts_info數據表會追蹤同步處理合併式發行集訂閱時所發生的衝突。 衝突的遺失數據列數據會儲存在 發生衝突之發行項的MSmerge_conflict_publication_article 數據表中。 此數據表會儲存在發行集資料庫的發行者端,以及訂閱資料庫中的訂閱者端。
資料行名稱 | 資料類型 | 描述 |
---|---|---|
tablenick | int | 已發行數據表的昵稱。 |
rowguid | uniqueidentifier | 衝突數據列的標識碼。 |
origin_datasource | nvarchar(255) | 發生衝突變更的資料庫名稱。 |
conflict_type | int | 發生的衝突類型,可以是下列其中一項: 1 = 更新衝突:在數據列層級偵測到衝突。 2 = 資料行更新衝突:在數據行層級偵測到的衝突。 3 = 更新刪除 Wins 衝突:刪除會贏得衝突。 4 = 更新 Wins 刪除衝突:此表格中會記錄遺失衝突的已刪除數據列。 5 = 上傳插入失敗:無法套用來自訂閱者的插入。 6 = 下載插入失敗:無法在訂閱者端套用來自發行者的插入。 7 = 上傳刪除失敗:訂閱者端的刪除無法上傳至發行者。 8 = 下載刪除失敗:發行者端的刪除無法下載到訂閱者。 9 = 上傳更新失敗:訂閱者端的更新無法在發行者端套用。 10 = 下載更新失敗:發行者端的更新無法套用至訂閱者。 11 = 解析 12 = 邏輯記錄更新 Wins Delete:遺失衝突的已刪除邏輯記錄會記錄在此數據表中。 13 = 邏輯記錄衝突插入更新:插入邏輯記錄與更新衝突。 14 = 邏輯記錄刪除 Wins 更新衝突:遺失衝突的更新邏輯記錄會記錄在此數據表中。 |
reason_code | int | 可區分內容的錯誤碼。 在 update-update 和 update-delete 衝突的情況下,用於此數據行的值與conflict_type相同。 不過,針對失敗的變更衝突,原因碼是導致 合併代理程式 無法套用變更的錯誤。 例如,如果 合併代理程式 因為主鍵違規而無法套用在訂閱者端的插入,它會記錄 6 (「下載插入失敗」) 的conflict_type和 2627 的reason_code,這是主鍵違規的 SQL Server 內部錯誤訊息:「違反 %ls 條件約束 『%.*ls』。 無法在物件 %.*ls' 插入重複的索引鍵。」 |
reason_text | nvarchar(720) | 可區分內容的錯誤描述。 |
pubid | uniqueidentifier | 發行集的標識碼。 |
MSrepl_create_time | datetime | 發生衝突的時間。 |
origin_datasource_id | uniqueidentifier | 發生衝突變更之資料庫的標識碼。 |