两台服务器,A发布服务器,B订阅服务器,有两个数据库,都是SQL2005,
结构一样,实现数据库同步,采用合并复制
当我在A的数据库news表中添加几条新闻,主键ID从1自动增长,同步之后,B中出现同样的数据,接着我在B的数据库news表中添加几条新闻,主键ID是从2001开始自动增长,也能同步到A中。。。
但是为什么ID中间相差2000呢?我想要A、B中都是连续增长的,而且又不重复,有没有哪位高手有好的解决方案?谢谢!
这是MSSQL中合并复制的一种机制,自增列为了不让主键冲突解决冲突的一种办法
当数据超过2000条之后呢?id会重新相隔2000?
@黑夜骑士: 2000 这个值不一定固定的,他和订阅的客户端之类的都有关系的,如果超过了 它会重新间隔一个数,你可以试试
B中可能有数据被删除了吧, 使用过的id不会被重用的, 你可以把B truancate 一下, 这样id 就从1 重新开始了
建议使用GUID列做标识主键。