2008-12-05 30 views
1

我们有一个合并复制拓扑,包括一个发布者,多个发布和多个订阅。它已经运行了至少8个月没有问题。MS-SQL Server 2005:复制后非收敛数据

几天前,我被告知我的PO代码在没有任何原因的情况下从标准的“ZWWTP/PO-0092”风格变为新的“ZWWT”风格:PO中的字符5到8代码改为另一个字符为CHR(0)& CHR(1)& CHR(0)& CHR(1)某些服务器上

我到达的地步,似乎是一个只有我复制/ suscription过程是生成此类虚拟数据:发布商和此特定订户的PO代码与最近更新或添加的记录不再匹配。在订阅者侧创建的PO的代码在上传到发布者时将会被修改(保持对于订阅者的干净)。从发布者下载的PO将在订户上以改变的PO代码进行传播。

然后,我可以使用某些表比较实用程序+某些UPDATE语句来清理/调整两台服务器上的数据,但是现在每次在两台服务器之间运行复制时都会出现相同的差异:我的干净/相同的数据在运行成功的复制后,两台服务器都将恢复为其非收敛状态:相同的记录,相同的值!

我不认为我在网络上留下了大量关于数据收敛和复制的可用资源。我没有找到任何东西。我打算在3小时内抛出/重建现有的发布/订阅,但我仍然在寻找一个合理的答案来解决我的问题,然后它变成一个精神分析问题:

有没有人知道会发生什么上?

PS:顺便说一下,由于PO代码并未作为自然键使用,因此此复制问题对数据库完整性没有影响。赞成surrogated键的另一个理由是工作,百达在反对自然键这项工作的大部分时间,但this has been discussed somewhere else ...

编辑:好了,我做到了,而且也没有工作!我扔了订阅和发布,重新创建出版物,但我无法生成快照。服务器无法管理它所称的“发行商的身份范围分配条目”,其中“无法在系统表中找到MSmerge_identity_range

浏览后,我发现此article说这样的问题可能发生当“你掉了这是在发布数据库中创建的首次公开”

这真是有趣啊!这正是我只是做了!

幸运的是,这个问题应该与SQLServer的2005年累积包来解决5,我仍然需要下载和安装,但现在的问题是:SQL Server 2005用户在发布之前如何工作?这个CP5?

编辑2:累积包5不起作用,我仍然无法为我的新复制创建快照!

回答

1

我认为你有正确的计划;)

+0

哪一个是正确的计划?重新初始化复制或与我的收缩谈话? – 2008-12-05 19:47:17