【问题标题】:Moving SQL Data into Azure SQL PaaS将 SQL 数据移动到 Azure SQL PaaS
【发布时间】:2021-05-30 11:17:40
【问题描述】:

我在 Azure VM 上安装的 SQL Server 中有一个数据库。数据库大小为 2 GB。

将所有数据移入 Azure SQL PAAS 服务的最佳方法是什么?

【问题讨论】:

    标签: azure-sql-database azure-sql-server


    【解决方案1】:

    虽然@Harris Xu 发布的方法是绝对正确的,但我添加了我在使用 .bacpac 方法将我的 500+ GB SQL Server DB 从 Azure VM 迁移到 PaaS 时遇到的问题。

    与 On-prim SQL Server 或 VM 上的 SQL Server 相比,Azure SQL DB 受到限制。

    在创建 .bacpac 文件时您不会遇到这些问题,但是当您尝试导入时,它可能会出现以下一些兼容性问题。

    1. 主密钥、对称密钥、服务队列和证书不能 迁移到云端。在准备 bacpac 之前放下它们。

    2. 删除孤立用户。

    3. 如果您正在使用 XP_CMDSHELL、跟踪标志、DBCC 命令或列存储索引,您也必须删除它们。

    4. Azure SQL DB 上不允许跨数据库查询。删除所有出现的 ..

    5. 如果您从存储过程中调用 API,那么在 Azure SQL DB 中也是不可能的。作为一种解决方法,您可以使用Logic Apps on Azure

    此外,Microsoft 迁移助手还可以帮助您提前发现兼容性问题。可以here下载。

    注意:这绝不是问题的完整列表,我遇到了这些问题,因为我使用了上述所有功能,如果您不使用它们,您将不会遇到它们。

    【讨论】:

    • 在导入 .bacpak 时是否会停止导入或这些问题只是被标记?
    • @Francesco Mantovani,导入将中止。
    【解决方案2】:

    使用数据层应用程序导出/导入 (BACPAC) 的 SQL 迁移

    BACPAC 文件封装了数据库架构以及存储在数据库应用程序中的数据,可以简单地导入到 Azure SQL 数据库。
    使用源数据库的工作负载需要在导出过程中下线,以确保导出的 BACPAC 文件包含完整且一致的所有数据。

    在 SQL Server Management Studio (SSMS) 中导出到 bacpac 文件

    你可以关注这个post

    1. 在 SQL Server Management Studio (SSMS) 中打开并连接数据库文件。
    2. 要导出数据库文件,请右键单击数据库名称。在上下文菜单中,选择任务 > 导出数据层应用程序。
    3. 该选项将打开向导。单击下一步> 介绍页面并转到导出设置。

    将 bacpac 文件导入 Azure SQL

    1. 连接到 Azure sql 后,转到对象资源管理器窗格,右键单击数据库,然后选择导入数据层。
    2. 该选项将打开向导。单击下一步> 介绍页面并转到导入设置。
    3. 将导入设置请求到要导入的 bacpac 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-14
      • 2010-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-17
      相关资源
      最近更新 更多