我在两个数据库之间设置了合并复制,并在两者上使用了标识范围。
我想在发布者上将特定行添加到合并表(将标识值设置为标识范围之外的内容)。当我尝试这个时,我收到以下错误。
插入失败。它与身份范围检查相冲突 数据库'xxx'中的约束,复制表'dbo.yyy',列 'yyy_id'。如果标识列由自动管理 复制,更新范围如下:对于Publisher,执行 sp_adjustpublisheridentityrange;对于订阅者,运行 分发代理或合并代理。
有没有办法强制将特定身份值放入使用身份范围管理的合并复制表?
答案 0 :(得分:3)
一种方法是确保复制拓扑中的每个节点使用不同范围的标识值,以便不会发生重复。
例如,发布者可以是 分配范围1-100,订户A. 范围101-200和订户B. 范围201-300。如果是一行 插入发布者和 身份价值是,例如,65, 该值被复制到每个 订户。复制插入时 每个订阅者的数据,它没有 增加标识列值 订阅者表;相反, 插入文字值65。只要 用户插入,但不是复制 代理插入导致身份 要递增的列值。
答案 1 :(得分:0)
我已解决通过增加20000 row增加自动插入。 Helpful blog added here