sql-server – 将Identity_insert设置为 – 合并复制

前端之家收集整理的这篇文章主要介绍了sql-server – 将Identity_insert设置为 – 合并复制前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经在两个数据库之间建立了合并复制,并且在这两个数据库之间使用了标识范围.

我想将一个特定的行添加到合并表(将身份值设置为身份范围之外)在发布者上.当我尝试这个,我得到以下错误.

The insert Failed. It conflicted with an identity range check
constraint in database ‘xxx’,replicated table ‘dbo.yyy’,column
‘yyy_id’. If the identity column is automatically managed by
replication,update the range as follows: for the Publisher,execute
sp_adjustpublisheridentityrange; for the Subscriber,run the
Distribution Agent or the Merge Agent.

有没有办法强制使用身份范围管理的合并复制表中的特定身份值?

解决方法

一种方法是确保复制拓扑中的每个节点都使用不同的标识值范围,这样就不会发生重复.

For example,the Publisher could be
assigned the range 1-100,Subscriber A
the range 101-200,and Subscriber B
the range 201-300. If a row is
inserted at the Publisher and the
identity value is,for example,65,
that value is replicated to each
Subscriber. When replication inserts
data at each Subscriber,it does not
increment the identity column value in
the Subscriber table; instead,the
literal value 65 is inserted. Only
user inserts,but not replication
agent inserts cause the identity
column value to be incremented.

参考. Replicating Identity Columns

猜你在找的MsSQL相关文章