【发布时间】:2021-05-30 11:17:40
【问题描述】:
我在 Azure VM 上安装的 SQL Server 中有一个数据库。数据库大小为 2 GB。
将所有数据移入 Azure SQL PAAS 服务的最佳方法是什么?
【问题讨论】:
标签: azure-sql-database azure-sql-server
我在 Azure VM 上安装的 SQL Server 中有一个数据库。数据库大小为 2 GB。
将所有数据移入 Azure SQL PAAS 服务的最佳方法是什么?
【问题讨论】:
标签: azure-sql-database azure-sql-server
虽然@Harris Xu 发布的方法是绝对正确的,但我添加了我在使用 .bacpac 方法将我的 500+ GB SQL Server DB 从 Azure VM 迁移到 PaaS 时遇到的问题。
与 On-prim SQL Server 或 VM 上的 SQL Server 相比,Azure SQL DB 受到限制。
在创建 .bacpac 文件时您不会遇到这些问题,但是当您尝试导入时,它可能会出现以下一些兼容性问题。
主密钥、对称密钥、服务队列和证书不能 迁移到云端。在准备 bacpac 之前放下它们。
删除孤立用户。
如果您正在使用 XP_CMDSHELL、跟踪标志、DBCC 命令或列存储索引,您也必须删除它们。
Azure SQL DB 上不允许跨数据库查询。删除所有出现的 ..
如果您从存储过程中调用 API,那么在 Azure SQL DB 中也是不可能的。作为一种解决方法,您可以使用Logic Apps on Azure。
此外,Microsoft 迁移助手还可以帮助您提前发现兼容性问题。可以here下载。
注意:这绝不是问题的完整列表,我遇到了这些问题,因为我使用了上述所有功能,如果您不使用它们,您将不会遇到它们。
【讨论】:
BACPAC 文件封装了数据库架构以及存储在数据库应用程序中的数据,可以简单地导入到 Azure SQL 数据库。
使用源数据库的工作负载需要在导出过程中下线,以确保导出的 BACPAC 文件包含完整且一致的所有数据。
你可以关注这个post。
【讨论】: