【问题标题】:Synchronize changes in SQL Server database with its remote client databases将 SQL Server 数据库中的更改与其远程客户端数据库同步
【发布时间】:2011-10-17 20:20:41
【问题描述】:

将 SQL Server 数据库与其远程客户端数据库同步的最佳方式是什么? Web 服务/SQL Server 中可用的任何其他内置功能?

应用详情:- Wpf 桌面与 SQL Server 2005。

场景是客户的主要办公室有库存管理数据库。在客户的远程出口中实现相同的数据库结构。新股票正在添加到总部数据库中。每当向总部数据库添加新行时,都需要通知所有远程客户端 SQL Server 数据库。并且每当远程客户端出口发生更改时,都需要将更改发送回主办公室数据库。

提前致谢。

【问题讨论】:

    标签: web-services sql-server-2005 database-replication


    【解决方案1】:

    经过大量研究,我最终得到了以下结果
    1.Sql Server Replication
    2.SymmetricDS
    3.Microsoft Sync Framework
    4.定制WCF服务。(An Example)

    我选择了定制的 WCF 服务来同步 DB。这里提到了所采用的步骤。

    1. 创建索引表。该表保存了客户的交易历史和签名。

    2. 创建了一个服务层(类库),它接收并返回作为无状态 DTO 对象的表行。此服务层引用负责与数据库通信的数据访问层。
    此服务层和数据访问层被 WCF 服务和 Windows 服务引用。

    3.创建了一个WCF服务并托管在Web服务器的IIS中,该服务提供:
    一种)。下载(DTOClass dto)
    乙)。上传(DTOClass dto)服务合同。

    4. 创建一个 Windows 服务并将其部署在多个客户端位置。此服务使用 Webserver IIS 中托管的 WCF 服务。

    来自客户端位置的 Windows 服务以特定的时间间隔与 WCF 服务通信,如果主服务器数据库中有可用的新更新(此信息在 IndexTables 中可用),Windows 服务会下载更新(使用下载(DTOClass dto)合同)并更新本地数据库。

    同样,如果本地数据库发生任何更改,Windows 服务会将更改移交给 WCF 服务(使用 Upload(DTOClass dto) 合同)。 WCF 服务然后更新主数据库。

    由于这两个服务都在本地访问数据库服务器,因此这会带来更好的性能。

    【讨论】:

      猜你喜欢
      • 2013-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-20
      • 2017-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多