0

任何人都有一些想法,这是以增量方式将一些数据库表从 Azure SQL DB 连续复制到 Azure SQL DB(PaaS) 的最佳方法。

我已经尝试过数据同步预览(模式即使在几个小时后也没有加载),数据工厂(复制数据) - 快速但它总是复制整个数据(重复记录) - 而不是增量方式。

请建议。

4

3 回答 3

2

这个请求背后的业务需求是什么?

1 - 您是否在数据库 1 中有一些参考数据并希望将这些数据复制到数据库 2?

如果是这样,那么如果您在同一逻辑服务器中,则使用跨数据库查询。有关详细信息,请参阅我的文章

2 - 你能在不同的地区拥有数据库的副本吗?如果是这样,请使用主动异地复制来保持数据库同步。有关详细信息,请参阅我的文章

3 - 如果您只需要复制几个表并且数据量很低,那么只需编写一个简单的 PowerShell 程序(工作流程)来从源中涓流加载目标。

根据您选择的时间安排 Azure 自动化中的程序。我会使用一个标志来指示哪些记录已被复制。

将插入到目标中并在事务中更新源标志以保证一致性。这种模式是通过痛苦的行模式来排列的。

您甚至可以批处理记录。研究使用 .Net 的 system.data.sqlclient 库中的SQLBulkCopy

4 - 最后但同样重要的是,Azure SQL 数据库现在支持 OPENROWSET 命令。不幸的是,当您在云中时,此功能是只读的 blob 存储文件模式。旧版本的本地命令允许您写入文件。

我希望这些建议有所帮助。

快乐编码。

狡猾的 DBA 约翰

于 2017-11-27T21:54:42.010 回答
0

我能够使用 Azure ASM 门户中的数据同步预览实现云到云迁移 以下是限制

  • 任何数据库可以属于的最大同步组数:5
  • 对象名称中不能使用的字符:对象(数据库、表、列)的名称不能包含可打印字符句点 (.)、左方括号 ([) 或右方括号 (])。

支持的数据库维度限制

参考:http: //download.microsoft.com/download/4/E/3/4E394315-A4CB-4C59-9696-B25215A19CEF/SQL_Data_Sync_Preview.pdf

于 2016-08-02T07:49:42.220 回答
0

如果您想使用 Azure 数据工厂,为了进行增量更新,您需要更改查询以查看源表上的创建/修改日期。然后,您可以将该数据放入目标端的“暂存表”中,然后使用存储的 proc 活动将您的插入/更新到“真实表”中,最后截断暂存表。

希望这可以帮助。

于 2016-07-25T15:11:07.403 回答