将 SQL 数据移动到 Azure SQL PaaS
Moving SQL Data into Azure SQL PaaS
我在 Azure VM 上安装的 SQL 服务器中有一个数据库。数据库大小为 2 GB。
将所有数据移动到 Azure SQL PAAS 服务的最佳方法是什么?
SQL 使用数据层应用程序迁移 export/import (BACPAC)
BACPAC 文件封装了数据库架构以及存储在数据库应用程序中的数据,这些数据可以简单地导入到 Azure SQL 数据库。
使用源数据库的工作负载需要在导出过程中脱机,以确保导出的 BACPAC 文件包含完整且一致状态的所有数据。
导出到 SQL Server Management Studio (SSMS) 中的 bacpac 文件
你可以关注这个post。
- 在 SQL Server Management Studio (SSMS) 中打开并连接数据库文件。
- 要导出数据库文件,请右键单击数据库名称。在上下文菜单中,select 任务 > 导出数据层应用程序。
- 该选项将打开向导。单击“下一步”>“简介”页面并转到“导出设置”。
将 bacpac 文件导入 Azure SQL
- 连接到 Azure sql 后,转到对象资源管理器窗格,右键单击数据库,然后 select 导入数据层。
- 该选项将打开向导。单击“下一步”>“介绍”页面并转到“导入设置”。
- 请求导入设置到要导入的 bacpac 文件。
虽然@Harris Xu 发布的方法绝对正确,但我添加了我在使用 .bacpac 方法将 500+ GB SQL 服务器数据库从 Azure VM 迁移到 PaaS 时遇到的问题。
Azure SQL 数据库与 On-prim SQL 服务器或 VM 上的 SQL 服务器相比受到限制。
您在创建 .bacpac 文件时不会遇到这些问题,但当您尝试导入时,可能会出现以下一些兼容性问题。
主密钥、对称密钥、服务队列和证书不能
迁移到云端。在准备 bacpac 之前放下它们。
删除孤立用户。
如果您正在使用 XP_CMDSHELL、跟踪标志、DBCC 命令或列存储索引,您也必须将它们删除。
Azure SQL DB 不允许跨数据库查询。删除所有出现的 ..
如果您从存储过程中调用 API,那么这在 Azure SQL 数据库中也是不可能的。作为解决方法,您可以使用 Logic Apps on Azure.
此外,Microsoft Migration 助手也可以帮助您提前发现兼容性问题。可以下载here.
注意:这不是问题的完整列表,我面对它们是因为我使用了上述所有功能,如果你不使用它们,你将不会面对它们。
我在 Azure VM 上安装的 SQL 服务器中有一个数据库。数据库大小为 2 GB。
将所有数据移动到 Azure SQL PAAS 服务的最佳方法是什么?
SQL 使用数据层应用程序迁移 export/import (BACPAC)
BACPAC 文件封装了数据库架构以及存储在数据库应用程序中的数据,这些数据可以简单地导入到 Azure SQL 数据库。
使用源数据库的工作负载需要在导出过程中脱机,以确保导出的 BACPAC 文件包含完整且一致状态的所有数据。
导出到 SQL Server Management Studio (SSMS) 中的 bacpac 文件
你可以关注这个post。
- 在 SQL Server Management Studio (SSMS) 中打开并连接数据库文件。
- 要导出数据库文件,请右键单击数据库名称。在上下文菜单中,select 任务 > 导出数据层应用程序。
- 该选项将打开向导。单击“下一步”>“简介”页面并转到“导出设置”。
将 bacpac 文件导入 Azure SQL
- 连接到 Azure sql 后,转到对象资源管理器窗格,右键单击数据库,然后 select 导入数据层。
- 该选项将打开向导。单击“下一步”>“介绍”页面并转到“导入设置”。
- 请求导入设置到要导入的 bacpac 文件。
虽然@Harris Xu 发布的方法绝对正确,但我添加了我在使用 .bacpac 方法将 500+ GB SQL 服务器数据库从 Azure VM 迁移到 PaaS 时遇到的问题。
Azure SQL 数据库与 On-prim SQL 服务器或 VM 上的 SQL 服务器相比受到限制。
您在创建 .bacpac 文件时不会遇到这些问题,但当您尝试导入时,可能会出现以下一些兼容性问题。
主密钥、对称密钥、服务队列和证书不能 迁移到云端。在准备 bacpac 之前放下它们。
删除孤立用户。
如果您正在使用 XP_CMDSHELL、跟踪标志、DBCC 命令或列存储索引,您也必须将它们删除。
Azure SQL DB 不允许跨数据库查询。删除所有出现的 ..
如果您从存储过程中调用 API,那么这在 Azure SQL 数据库中也是不可能的。作为解决方法,您可以使用 Logic Apps on Azure.
此外,Microsoft Migration 助手也可以帮助您提前发现兼容性问题。可以下载here.
注意:这不是问题的完整列表,我面对它们是因为我使用了上述所有功能,如果你不使用它们,你将不会面对它们。