sp_helpmergeconflictrows (Transact-SQL)
適用於:SQL Server
傳回指定之衝突數據表中的數據列。 這個預存程式會在儲存衝突數據表的計算機上執行。
語法
sp_helpmergeconflictrows
[ [ @publication = ] N'publication' ]
, [ @conflict_table = ] N'conflict_table'
[ , [ @publisher = ] N'publisher' ]
[ , [ @publisher_db = ] N'publisher_db' ]
[ , [ @logical_record_conflicts = ] logical_record_conflicts ]
[ ; ]
引數
[ @publication = ] N'publication'
發行集的名稱。 @publication為 sysname,預設值為 %
。 如果指定發行集,則會傳回發行集所限定的所有衝突。 例如,如果 MSmerge_conflict_Customers
數據表具有 和 CA
發行集的衝突數據列WA
,則傳入發行集名稱CA
會擷取與發行集相關的CA
衝突。
[ @conflict_table = ] N'conflict_table'
衝突數據表的名稱。 @conflict_table為 sysname,沒有預設值。 衝突數據表是使用格式名稱搭配 MSmerge_conflict__publication_article_*
來命名,每個已發佈發行發行項都有一個數據表。
[ @publisher = ] N'publisher'
發行者的名稱。 @publisher為 sysname,預設值為 NULL
。
[ @publisher_db = ] N'publisher_db'
發行者資料庫的名稱。 @publisher_db為 sysname,預設值為 NULL
。
[ @logical_record_conflicts = ] logical_record_conflicts
指出結果集是否包含邏輯記錄衝突的相關信息。 @logical_record_conflicts為 int,預設值為 0
。 1
表示傳回邏輯記錄衝突資訊。
結果集
sp_helpmergeconflictrows
會傳回結果集,其中包含基表結構和這些額外的數據行。
資料行名稱 | 資料類型 | 描述 |
---|---|---|
origin_datasource |
varchar(255) | 衝突的來源。 |
conflict_type |
int | 指出衝突類型的程式代碼:1 = 更新衝突:在數據列層級偵測到衝突。2 = 資料行更新衝突:在數據行層級偵測到的衝突。3 = 更新刪除 Wins 衝突:刪除會贏得衝突。4 = 更新 Wins 刪除衝突:刪除遺失衝突的已刪除 rowguid 會記錄在此數據表中。5 = 上傳插入失敗:無法在發行者端套用訂閱者的插入。6 = 下載插入失敗:無法在訂閱者端套用來自發行者的插入。7 = 上傳刪除失敗:訂閱者端的刪除無法上傳至發行者。8 = 下載刪除失敗:發行者端的刪除無法下載到訂閱者。9 = 上傳更新失敗:訂閱者端的更新無法在發行者端套用。10 = 下載更新失敗:發行者端的更新無法套用至訂閱者。12 = 邏輯記錄更新 Wins Delete:遺失衝突的已刪除邏輯記錄會記錄在此數據表中。13 = 邏輯記錄衝突插入更新:插入邏輯記錄與更新衝突。14 = 邏輯記錄刪除 Wins 更新衝突:遺失衝突的更新邏輯記錄會記錄在此數據表中。 |
reason_code |
int | 可區分內容的錯誤碼。 |
reason_text |
varchar(720) | 可區分內容的錯誤描述。 |
pubid |
uniqueidentifier | 發行集標識碼。 |
MSrepl_create_time |
datetime | 新增衝突信息的時間。 |
傳回碼值
0
(成功) 或 1
(失敗)。
備註
sp_helpmergeconflictrows
用於合併式複寫。
權限
只有系統管理員固定伺服器角色的成員、db_owner固定資料庫角色,以及散發資料庫中的 replmonitor 角色可以執行 sp_helpmergeconflictrows
。