任何人都有一些想法,这是以增量方式实现从Azure SQL DB到Azure SQL DB(PaaS)连续复制某些数据库表的最佳方法。
我已尝试过数据同步预览(架构在几小时后仍未加载), 数据工厂(复制数据) - 快速但始终复制整个数据(重复记录) - 而不是增量方式。
请建议。
答案 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中的数据同步预览实现云迁移到云迁移 以下是限制