【问题标题】:Is it possible to define a custom tracking mechanism with the Microsoft sync framework?是否可以使用 Microsoft 同步框架定义自定义跟踪机制?
【发布时间】:2010-10-28 15:25:25
【问题描述】:

我目前正在评估 Microsoft 同步框架作为在两个 SQL 数据库之间同步数据的可能解决方案。到目前为止,我所看到的示例依赖于“跟踪表”,其中包含用于跟踪要同步的更改的信息,并在主表上使用触发器以使它们保持最新。

我的数据库已经包含大量此类信息(对于软件的现有功能),因此最好利用这些信息,而不必将其全部迁移到新的跟踪表中。我也不喜欢将每个表加倍为数据表和跟踪表,并向每个表添加三个触发器的想法 - 这听起来可能是性能问题?

是否有任何方法可以自定义同步框架使用的跟踪机制(即跟踪更改的方式)?

【问题讨论】:

    标签: c# .net microsoft-sync-framework


    【解决方案1】:

    是的,完全可以编写自己的逻辑来跟踪更改并使用它们。例如。我使用的 db syncproviders 之一要求您定义 selectincrementalinsert 命令。现在,数据来自哪个表以及如何过滤掉最新记录并不重要——您只需要定义一个查询或一个为您提供此数据的 sp。这适用于所有其他增量 sps(处理更改跟踪)

    除此之外,您还需要一个锚值来定义上次同步发生的时间。我认为避免这个是没有意义的,因为它专门用于同步,并且您现有的跟踪表不会包含对此的替代品。

    【讨论】:

    • 您使用的是SyncAdapter吗?我向same question on the MS forums 询问了 Sync Framework 的 4.0 CTP,得到的回应是 SyncAdapters 在最新版本中已过时。
    • 我正在使用 SyncAdapter。虽然他们说没有太多的发展,但它确实工作得很好,而且它并没有被弃用。它甚至适用于非 sql 服务器数据库,所以我看不出有任何理由不使用它。 MS 可能想推广 sql server 2008,这对他们来说很自然。
    • 你知道我在哪里可以找到示例代码 - 开始学习这个 Microsoft SyncFramework - 我尝试了 msdn - 但他们的示例代码似乎无法编译。
    • code.msdn.microsoft.com/Release/… 和此页面的其他链接。一些示例表明它们已被弃用,但通过所有示例也可以让您了解同步框架的基础知识。
    猜你喜欢
    • 1970-01-01
    • 2012-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-12
    • 2020-11-09
    相关资源
    最近更新 更多