将数据从本地数据库同步到中央SQL Server

时间:2017-06-29 06:34:45

标签: ssis synchronization microsoft-sync-framework merge-replication

我需要将本地数据库数据与中央SQL服务器同步。远程用户(大多数约10人)将使用笔记本电脑,它将托管应用程序和本地数据库。互联网连接不是24x7全天候。在没有连接的情况下,笔记本电脑用户应该能够在本地数据库中进行更改,并且一旦连接恢复,数据应该自动与中央SQL服务器同步。同步通常只是数据更新。我查看了选项Sync框架和合并复制。我不能使用同步框架,因为我不是C#专家。对于合并复制,我认为需要额外的硬件,这是不可能的。解决方案应易于开发和维护。

还有其他选择吗?在这种情况下是否可以使用SSIS?

2 个答案:

答案 0 :(得分:3)

我会在这种情况下使用合并复制。我没有意识到任何"额外的硬件"要求。

SSIS可以完成这项工作,但它不会为您提供任何开箱即用的帮助 - 您将重新发明一个非常常见且复杂的场景。

答案 1 :(得分:0)

一个想法...... Idea需要一个中间数据库(交换数据库)。 在Exchange数据库上,您有表,其中包含每个同步方向的数据。并在Exchange数据库和中央使用变更跟踪。

在本地数据库端可能意味着带有标志的行:

  • 在本地db上创建行
  • row with exchange db
  • 行需要重新同步(何时更新,等等)

同步localdb-exchange db。 同步时,首先在localdb中发送数据(标记为本地创建或需要重新同步),然后从交换数据库下载数据(通过更改转换标记为更改)。

交换数据库和中央数据库之间的同步只是基于数据库引擎的变更跟踪。

关于变更转换here