sp_configure_peerconflictdetection (Transact-SQL)

适用于:SQL Server

为对等事务复制拓扑中包含的发布配置冲突检测。 有关详细信息,请参阅 Conflict Detection in Peer-to-Peer Replication。 此存储过程在发布服务器上对发布数据库执行。

重要

不能使用 sp_configure_peerconflictdetection 启用 lastwriter。 若要更改现有复制拓扑的冲突解决方法,请删除发布并重新创建它。

Transact-SQL 语法约定

语法

  
sp_configure_peerconflictdetection [ @publication = ] 'publication'  
    [ , [ @action = ] 'action']  
    [ , [ @originator_id = ] originator_id ]  
    [ , [ @conflict_retention = ] conflict_retention ]  
    [ , [ @continue_onconflict = ] 'continue_onconflict']  
    [ , [ @local = ] 'local']  
    [ , [ @timeout = ] timeout ]  
  

参数

[ @publication=] 'publication'
要配置冲突检测的发布的名称。 publicationsysname,没有默认值。

[ @action= ] 'action'
指定是否为发布启用或禁用冲突检测。 actionnvarchar (5) ,可以是以下值之一。

说明
enable 为发布启用冲突检测。
disable 为发布禁用冲突检测。
NULL(默认值)

[ @originator_id= ] originator_id
指定对等拓扑中某个节点的 ID。 originator_idint,默认值为 NULL。 如果 操作 设置为 启用,则此 ID 用于冲突检测。 请指定拓扑中从未使用过的非零、正值 ID。 有关已经使用过的 ID 的列表,请查询 Mspeer_originatorid_history 系统表。

[ @conflict_retention= ] conflict_retention

标识为仅供参考。 不支持。 不保证以后的兼容性。

[ @continue_onconflict= ] 'continue_onconflict' ]
确定检测到冲突后分发代理是否继续处理更改。 continue_onconflictnvarchar (5) ,默认值为 FALSE。

注意

建议您使用默认值 FALSE。 如果此选项设置为 TRUE,则分发代理会尝试应用来自具有最高发起方 ID 的节点的冲突行来收敛拓扑中的数据。 此方法不保证将会收敛。 您应确保检测到冲突之后拓扑保持一致。 有关详细信息,请参阅 Conflict Detection in Peer-to-Peer Replication中的“处理冲突”。

[ @local= ] 'local'

标识为仅供参考。 不支持。 不保证以后的兼容性。

[ @timeout= ] timeout

标识为仅供参考。 不支持。 不保证以后的兼容性。

返回代码值

0 (成功) 或 1 (失败)

备注

sp_configure_peerconflictdetection 用于对等事务复制。 若要使用冲突检测,所有节点都必须运行 SQL Server 2008 (10.0.x) 或更高版本;并且必须为所有节点启用检测。

权限

要求具有 sysadmin 固定服务器角色或 db_owner 固定数据库角色的成员身份。

另请参阅

对等复制中的冲突检测
@loopback_detection
复制存储过程 (Transact-SQL)