如何使用ADF将数据从内部部署数据库迁移到Azure托管数据库?

时间:2018-03-15 13:07:50

标签: sql-server azure azure-sql-database azure-data-factory

问题看起来相当简单,但就我而言,它有一些复杂性。所以这是交易:

  • 有一个内部部署的sql数据库和一个sql Azure托管数据库。我们需要保持两个数据库同步。这些数据库包含50个表。
  • 任何应用程序都不会更新Azure数据库,但是内部部署数据库会不断更新。因此,我们需要将来自内部数据库的修改/插入数据移动到Azure数据库。我们正在使用 Azure数据工厂(ADF)

  • 所有数据库表都包含一个名为 LastModifiedDate 的列,指示何时修改了记录。

  • 目前,我们已经创建了与所有50个表对应的登台表。我们正在维护一个包含表名的水印表,它的最高 LastModifiedDate
  • ADF作业中有一个活动执行存储过程,该过程从具有 LastModifiedDate >的所有表中获取记录。在水印表中对应 LastModifiedDate 并将它们转储到临时表中。
  • 执行此存储过程时,来自登台表的所有数据都与Azure数据库表同步。最后更新水印表 每个表的 LastModifiedDate 。然后刷新所有临时表。
  • 此过程将不断定期重复,以便每当更新内部部署数据时,Azure数据库也将更新。

当前方法的问题:

为每个表创建临时表并不是一个好主意。如果数据库中的表数增加,我们需要那些许多相应的临时表。

问题:

有没有更好的方法来处理这种情况使用ADF 而不创建大量的临时表?

1 个答案:

答案 0 :(得分:1)

您可以尝试使用SQL Data Sync,并使SQL数据同步只是在一个方向同步,从内部部署到Azure SQL数据库。配置SQL数据同步时,选择"到集线器"在"同步方向"如下图所示。

enter image description here