共用方式為


sp_helpmergeconflictrows (Transact-SQL)

傳回指定衝突資料表中的資料列。這個預存程序是在儲存了衝突資料表的電腦中執行的。

主題連結圖示Transact-SQL 語法慣例

語法

sp_helpmergeconflictrows [ [ @publication = ] 'publication' ]
        , [ @conflict_table = ] 'conflict_table'
    [ , [ @publisher = ] 'publisher' ] 
    [ , [ @publisher_db = ] 'publsher_db' ] 
    [ , [ @logical_record_conflicts = ] logical_record_conflicts ]

引數

  • [@publication=] 'publication'
    這是發行集的名稱。publication 是 sysname,預設值是 %。如果指定發行集的話,就會傳回發行集所限定的所有衝突。例如,如果 MSmerge_conflict_Customers 資料表有 WACA 發行集的衝突資料列,傳入發行集名稱 CA 會擷取 CA 發行集的相關衝突。

  • [@conflict_table=] 'conflict_table'
    這是衝突資料表的名稱。conflict_table 是 sysname,沒有預設值。在 Microsoft SQL Server 2005 和更新版本中,衝突資料表是利用 MSmerge_conflict_publication_article 的格式名稱來命名的,每個發行的發行項都有一份資料表。

  • [@publisher=] 'publisher'
    這是發行者的名稱。publisher 是 sysname,預設值是 NULL。

  • [@publisher_db=] '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 = 更新刪除成功衝突:刪除在衝突中成功。

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

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

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

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

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

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

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

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

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

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

reason_code

int

可為內容相關的錯誤碼。

reason_text

varchar(720)

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

pubid

uniqueidentifier

發行集識別碼。

MSrepl_create_time

datetime

加入衝突資訊的時間。

傳回碼值

0 (成功) 或 1 (失敗)

備註

sp_helpmergeconflictrows 用於合併式複寫中。

權限

只有系統管理員 (sysadmin) 固定伺服器角色、db_owner 固定資料庫角色以及散發資料庫中之 replmonitor 角色的成員,才能夠執行 sp_helpmergeconflictrows