【问题标题】:Azure SQL DB to Azure SQL DB replication [closed]Azure SQL DB 到 Azure SQL DB 复制 [关闭]
【发布时间】:2016-11-24 13:33:41
【问题描述】:

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

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

请提出建议。

【问题讨论】:

  • @Aravind,我已经检查过了,它在本地和 Azure SQL(PaaS) 之间,
  • 我需要在 Azure SQL(PaaS) 到 Azure SQL(PaaS) 之间进行复制
  • 如果您正在查看备份和灾难恢复选项,则可以使用活动异地复制功能。如果您正在查看复制数据,请检查此问题stackoverflow.com/questions/6572754/…
  • 我对异地复制功能不感兴趣,正在寻找在两个不同 Azure SQL 数据库之间复制一些数据库表(这些数据库中有 300 多个表)。

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


【解决方案1】:

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

希望这会有所帮助。

【讨论】:

    【解决方案2】:

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

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

    Supported limits on DB Dimensions

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

    【讨论】:

      【解决方案3】:

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

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

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

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

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

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

      将插入到目标中并在事务中更新源标志以保证一致性。这种模式是由排式排成一行的图案。

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

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

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

      快乐编码。

      约翰 狡猾的 DBA

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-03-19
        • 2018-02-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-03
        • 2021-12-18
        • 1970-01-01
        相关资源
        最近更新 更多