C# 如何使用同步框架同步用几乎相同的数据重新创建的表?

C# 如何使用同步框架同步用几乎相同的数据重新创建的表?,c#,azure,sync,microsoft-sync-framework,C#,Azure,Sync,Microsoft Sync Framework,我已经做了一个程序,使用同步框架将一些表从Azure同步到OnPremise(本地服务器)。 我按照以下示例制作了程序: 它的工作速度惊人的表格,他的变化是新行。 新行是完美的同步。第一次同步需要几个小时,但现在所有同步都需要几秒钟 但是,我们还有其他表,它们被删除并重新创建时使用的数据基本相同(99%是旧数据,1%是新数据)。更新这些表的程序:删除所有数据并再次添加所有数据(包括新数据) 在这种情况下,我们的同步程序会看到所有表都已更改。太慢了。所有同步(第一次、第二次、第三次……)都需要几个

我已经做了一个程序,使用同步框架将一些表从Azure同步到OnPremise(本地服务器)。 我按照以下示例制作了程序:

它的工作速度惊人的表格,他的变化是新行。 新行是完美的同步。第一次同步需要几个小时,但现在所有同步都需要几秒钟

但是,我们还有其他表,它们被删除并重新创建时使用的数据基本相同(99%是旧数据,1%是新数据)。更新这些表的程序:删除所有数据并再次添加所有数据(包括新数据)

在这种情况下,我们的同步程序会看到所有表都已更改。太慢了。所有同步(第一次、第二次、第三次……)都需要几个小时

有可能把它修好吗


谢谢,

As@JNYRanger:“您可能需要编写自己的提供程序,因为同步框架将特殊组件构建到已配置的每个表中。通过删除该表并重新创建该表,框架不知道如何利用它已有的知识”.

我假设您只是删除行并重新插入,因为如果您确实要删除表,您可能已经破坏了更改跟踪,因为更改跟踪触发器会随表一起删除


如果要重新插入行,则触发器会将跟踪表中的相应行标记为已更改。同步时,即使您以前已同步行,也会同步行。由于目标上已存在行,因此会发生冲突,从而降低速度。如果您有100万行,则需要解决100万个冲突。

您可能需要编写自己的提供程序,因为同步框架将特殊组件构建到已配置的每个表中。通过删除该表并重新创建该表,框架不知道如何利用它已有的知识。也许您可以帮助我们解决这种情况:我们需要将Win2003 Server中的本地SQL2005与Azure同步。我们正在使用Syncorchester和它非常酷的同步一些表。但对于重新创建的其他表,该过程非常缓慢。我们不能使用Sychorcestator,因为这个过程非常缓慢。我们不能使用SychAgent,因为它只适用于SQL CE。我们不能使用集成服务,因为我们有SQL 2005。我们无法使用Azure同步代理,因为我们有Win2003。我们需要一个自动过程来将表从本地服务器移动到Azure。。。。有什么想法吗?