首页 新闻 搜索 专区 学院

SQL2005数据库同步主键冲突问题

0
悬赏园豆:5 [已解决问题] 解决于 2013-03-27 17:11

两台服务器,A发布服务器,B订阅服务器,有两个数据库,都是SQL2005,

结构一样,实现数据库同步,采用合并复制

当我在A的数据库news表中添加几条新闻,主键ID从1自动增长,同步之后,B中出现同样的数据,接着我在B的数据库news表中添加几条新闻,主键ID是从2001开始自动增长,也能同步到A中。。。

但是为什么ID中间相差2000呢?我想要A、B中都是连续增长的,而且又不重复,有没有哪位高手有好的解决方案?谢谢!

黑夜骑士的主页 黑夜骑士 | 初学一级 | 园豆:197
提问于:2012-06-29 10:19
< >
分享
最佳答案
0

这是MSSQL中合并复制的一种机制,自增列为了不让主键冲突解决冲突的一种办法

收获园豆:5
贺臣 | 初学一级 |园豆:107 | 2012-11-07 15:54

当数据超过2000条之后呢?id会重新相隔2000?

黑夜骑士 | 园豆:197 (初学一级) | 2012-11-07 15:57

@黑夜骑士:  2000 这个值不一定固定的,他和订阅的客户端之类的都有关系的,如果超过了 它会重新间隔一个数,你可以试试

贺臣 | 园豆:107 (初学一级) | 2012-11-07 16:00
其他回答(2)
0

B中可能有数据被删除了吧, 使用过的id不会被重用的, 你可以把B truancate 一下, 这样id 就从1 重新开始了

gunsmoke | 园豆:3592 (老鸟四级) | 2012-07-05 13:26
0

建议使用GUID列做标识主键。

Joe.TJ | 园豆:202 (菜鸟二级) | 2012-09-07 10:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册