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
表具有与发布的冲突行WA
CA
,则传入发布名称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
用于合并复制。
权限
只有 sysadmin 固定服务器角色的成员、db_owner固定数据库角色以及分发数据库中的 replmonitor 角色才能执行sp_helpmergeconflictrows
。