使用 BACPAC 迁移到 Azure SQL 数据库

已完成

可以使用 .bacpac 文件将 SQL Server 数据库导入 Azure SQL 数据库中。

.bacpac 文件是一个包含来自数据库的元数据和数据的压缩文件。 可以从 Azure Blob 存储或本地环境中的本地存储导入数据。

为了在生产环境中实现最佳缩放和性能,建议使用 SQLPackage 实用工具。 为表的子集并行运行多个 SqlPackage 命令可以显著加快导入/导出操作。

在 Azure 门户中从 BACPAC 文件导入

可以按照以下步骤在 Azure SQL 数据库中导入 .bacpac 文件。

  1. 若要使用 Azure 门户从 BACPAC 文件导入新的单个数据库,请打开相应的数据库服务器页面,然后在工具栏上选择“导入数据库”
  2. 选择 BACPAC 文件的存储帐户和容器,然后选择要从中导入的 BACPAC 文件。
  3. 指定新数据库大小(通常与源数据库相同)并提供目标 SQL Server 凭据,然后选择“确定”。
  4. 若要监视导入的进度,请打开数据库服务器页,然后在“设置”下,选择“导入/导出历史记录”。 成功导入后,状态为“已完成”。

此外,还可以使用 SqlPackage 导入 BACPAC 文件,因为这比使用 Azure 门户更快。 以下命令可将 AdventureWorks2019 数据库从本地存储导入到名为 mynewserver20230103 的 Azure SQL 数据库服务器。 它创建名为 myMigratedDatabase 的新数据库,其中包含“高级”服务层级和 P6 服务目标。

根据你的环境更改这些值。

SqlPackage.exe /a:import /tcs:"Data Source=mynewserver20230103.database.windows.net;Initial Catalog=myMigratedDatabase;User Id=<your_server_admin_account_user_id>;Password=<your_server_admin_account_password>" /sf:AdventureWorks2019.bacpac /p:DatabaseEdition=Premium /p:DatabaseServiceObjective=P6

提示

若要提高导入过程的速度,可以将数据库缩放到更高的服务层级和计算大小,从而提供更多更快的资源。 导入完成后,可以纵向缩减到所需的服务层级和计算大小。