Azure SQL DB到Azure SQL数据库复制

时间:2016-07-21 06:04:53

标签: azure azure-sql-database paas azure-data-factory azure-data-sync

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

我已尝试过数据同步预览(架构在几小时后仍未加载), 数据工厂(复制数据) - 快速但始终复制整个数据(重复记录) - 而不是增量方式。

请建议。

3 个答案:

答案 0 :(得分:1)

此请求背后的业务要求是什么?

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

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

2 - 您是否可以在不同的区域拥有数据库的副本?如果是这样,请使用活动地理复制来使数据库保持同步。有关详细信息,请参阅我的article

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

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

将插入放入目标并更新事务中的源标志以保证一致性。这种模式是令人痛苦的行模式。

您甚至可以批量记录。请查看.Net。的system.data.sqlclient库中的SQLBulkCopy

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

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

快乐编码。

约翰 Crafty DBA

答案 1 :(得分:0)

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

希望这有帮助。

答案 2 :(得分:0)

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

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

Supported limits on DB Dimensions

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