删除冲突表或 msmerge_delete_conflicts 表中的行。该存储过程在存储有冲突表的计算机的任何数据库中执行。
sp_deletemergeconflictrow [ [ @conflict_table = ] 'conflict_table' ]
[ , [ @source_object = ] 'source_object' ]
{ , [ @rowguid = ] 'rowguid'
,
[ @origin_datasource = ] 'origin_datasource' ] }
[ , [ @drop_table_if_empty = ] 'drop_table_if_empty' ]
[@conflict_table =] 'conflict_table'
是冲突表名。conflict_table 的数据类型为 sysname,默认设置为 %。如果将 conflict_table 指定为 NULL 或 %,则假定冲突为删除冲突,并从 MSmerge_delete_conflicts 表中删除与 rowguid 和origin_datasource 及 source_object 相匹配的行。
[@source_object = ] 'source_object'
是源表名。source_object 的数据类型为 nvarchar(386),默认设置为 NULL。
[@rowguid = ] 'rowguid'
是删除冲突的行标识符。rowguid 的数据类型为 uniqueidentifier,没有默认设置。
[@origin_datasource =] 'origin_datasource'
是冲突的起点。origin_datasource 的数据类型为 varchar(255),没有默认设置。
[@drop_table_if_empty =] 'drop_table_if_empty'
是表示如果 conflict_table 为空要将其除去的标志。drop_table_if_empty 的数据类型为 varchar(10),默认设置为 FALSE。
0(成功)或 1(失败)
sp_deletemergeconflictrow 用于合并复制。
MSmerge_delete_conflicts 是系统表,即使为空也不将其从数据库中删除。
只有 sysadmin 固定服务器角色成员或 db_owner 固定数据库角色成员才能执行 sp_deletemergeconflictrow。