Sql server 如何使用ADF将数据从本地数据库迁移到Azure托管数据库?
这个问题看起来相当简单,但就我而言,它涉及到一些复杂的问题。这就是交易:Sql server 如何使用ADF将数据从本地数据库迁移到Azure托管数据库?,sql-server,azure,azure-sql-database,azure-data-factory,Sql Server,Azure,Azure Sql Database,Azure Data Factory,这个问题看起来相当简单,但就我而言,它涉及到一些复杂的问题。这就是交易: 有一个本地托管的sql数据库和一个sql Azure托管的数据库。我们需要使两个数据库保持同步。这些数据库包含50个表 Azure数据库不会被任何应用程序更新,但本地数据库将继续频繁更新。因此,我们需要将本地数据库中修改/插入的数据移动到Azure数据库。我们正在为此使用Azure数据工厂(ADF) 所有数据库表都包含一个名为LastModifiedDate的列,指示记录修改的时间 目前,我们已经创建了对应于所有50个表
- 有一个本地托管的sql数据库和一个sql Azure托管的数据库。我们需要使两个数据库保持同步。这些数据库包含50个表
- Azure数据库不会被任何应用程序更新,但本地数据库将继续频繁更新。因此,我们需要将本地数据库中修改/插入的数据移动到Azure数据库。我们正在为此使用Azure数据工厂(ADF)
- 所有数据库表都包含一个名为LastModifiedDate的列,指示记录修改的时间
- 目前,我们已经创建了对应于所有50个表的临时表。我们正在维护一个水印表,其中包含表名及其最高的LastModifiedDate李>
- ADF作业中有一个活动,它执行存储过程,该过程从水印表中具有LastModifiedDate>对应LastModifiedDate的所有表中获取记录,并将它们转储到临时表中
- 当此存储过程的执行完成时,来自临时表的所有数据将与Azure数据库表同步。最后更新水印表 每个表的LastModifiedDate。然后刷新所有暂存表
- 这个过程将定期重复,这样每当来自本地的数据更新时,Azure数据库也将更新
像一次性迁移还是连续迁移?它是连续迁移Data Factory不是最适合您的用例的工具。听起来事务性复制会更好,例如使用SQL数据同步。ADF适合集成,但它不是数据库复制工具。如果您坚持使用ADF,您将需要维护大量样板代码。这可以通过自动化代码生成变得更容易。还请注意,使用ADF,您将永远无法实时复制到Azure.hi-最好使用Azure函数执行此操作,调用相同的存储过程,但这次将更新的数据放入cosmos db,然后,您可以使用cosmos中的change feed处理器跟踪更改,然后基于cosmos db填充/复制您的Azure SQL,或者完全废弃Azure SQL,只使用cosmos db作为您的在线源。例如,一次性迁移或连续迁移?这是连续迁移Data Factory不是最适合您的用例的工具。听起来事务性复制会更好,例如使用SQL数据同步。ADF适合集成,但它不是数据库复制工具。如果您坚持使用ADF,您将需要维护大量样板代码。这可以通过自动化代码生成变得更容易。还请注意,使用ADF,您将永远无法实时复制到Azure.hi-最好使用Azure函数执行此操作,调用相同的存储过程,但这次将更新的数据放入cosmos db,然后可以使用cosmos中的更改源处理器来跟踪更改,然后基于cosmos db填充/复制您的Azure SQL,或者完全放弃Azure SQL,只使用cosmos db作为您的在线源。抱歉,忘了提及一件事,我们不允许使用除ADFSorry之外的任何东西,忘了提一件事,我们不允许使用ADF以外的任何东西