将数据库迁移到 Azure 的 Bacpac 与 dacpac

问题描述 投票:0回答:1

我正在将大型数据库(架构和数据)从本地服务器部署到 Azure SQL。我计划从命令行使用 sqlpackage.exe 。看起来有两个选择:

  1. 使用以下命令提取 DACPAC,然后将其发布到 Azure ExtractAllTableData 选项可在提取中包含数据
  2. 导出 BACPAC,然后将其导入到 Azure

有更好的选择吗?我需要这个过程以尽可能最快的方式运行,所以我很好奇是否有一个选项对性能更好。

sql-server azure-sql-database
1个回答
15
投票

正如 Grant 所说,bacpac 是 dacpac+data。下面是另一个可能有帮助的定义

“bacpac 包含数据库中的架构和数据。dacpac 仅包含架构,不包含数据”

您可能已经明白,您需要 bacpac。

我需要这个过程以尽可能最快的方式运行,所以我很好奇是否有一个选项对性能更好。

我们在Azure中只有很少的数据库(400Gb)。我们观察到,当我们从存储加载数据时,导入数据的速度更快。我们遵循的方法是将数据加载到与数据库位于同一位置的存储中,然后导入数据。

SQLSERVER 团队测试了一些选项,他们观察到 与其余选项相比,BCP 是最快的..

enter image description here

以下是将 bcp 数据导入 azure 的方法

bcp TestDB.dbo.Customer 在“C:\User

© www.soinside.com 2019 - 2024. All rights reserved.