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 |
引發衝突變更的資料庫識別碼。 |