我用SQL Server 2005 中文版进行数据库同步,复制的方式是事务复制,主动推送。
复制成功后,能正确验证,发布数据库上改动,订阅数据库上也有改动。但是发现一个问题,
由于发布数据库上,表主键是标识列,起始值和自增量都是默认的1,表里也有一些数据,标识的‘不可复制’项,是‘否’
在订阅数据库上,就不能正常进行数据记录的增加,会提示主键重复。
我去除主键后发现,主键的ID值是从1开始增加的,当然就跟已经存在的ID值重复了。如下
eID eData
1
2
3
4
2这样的情况,不管是同步状态还是两边都删除同步后,都存在。
很明显是一个比较严重的问题了,
不知道哪位达人也碰到过类似问题。网上我也查过,可以用DBCC CHECKIDENT ('table_name', RESEED)命令来把标识列的ID改成从当前最大值开始计数,
但也是后期补救,又麻烦。有没有在同步配置的时候,或者什么时候的方法能避免这个问题呢。
望各位达人不吝赐教,多谢多谢!