初始同步时LocalInsertRemoteInsert冲突

时间:2012-10-11 14:06:16

标签: microsoft-sync-framework

我正在尝试实现从服务器到客户端的单向同步,两者都使用Sync Framework 2.1运行SQLExpress 2008。我在初始同步时遇到了麻烦。

服务器上定义了两个范围:

Scope1包含表A,B,C和Scope2包含表B,C,D

在初始同步之前,客户端数据库包含表A,B,C和D(使用脚本导入),每个表都是空的。已使用默认配置设置使用服务器的Scope1和Scope2范围信息配置数据库。

首次同步Scope1时,一切都会成功。同步Scope2时,正在下载共享表(B,C)的每条记录并将其报告为LocalInsertRemoteInsert冲突。

有没有办法避免这种行为?在Scope1完成同步后,Sync Framework是否应该知道表B和C现在是最新的?

1 个答案:

答案 0 :(得分:1)

您有重叠的范围,其他范围中包含的数据与另一个范围内的数据相同。

有关同步内容的信息存储在作用域级别,第一个作用域上同步的内容不为第二个作用域所知,反之亦然。

当您同步范围1时,它会下载数据并更新自己同步的同步知识。当您同步范围2时,它不知道范围1已同步,因此它会再次下载它们。

我将B和C放在范围1上并在A上创建范围2,在范围3上创建范围2.所以你只需要同步B和C一次。