我正在将一个大型数据库(包括架构和数据)从内部部署服务器部署到Azure SQL。我打算从命令行使用sqlpackage.exe。看起来有两种选择:
有首选方案吗?我需要这个过程尽可能以最快的方式运行,所以如果一个选项对性能更好,我会很好奇。
答案 0 :(得分:5)
正如Grant所说,bacpac是dacpac + data.Below是另一个可能有帮助的定义
“bacpac包含来自数据库的架构和数据.dacpac只收集架构而不是数据”
你可能已经理解,你需要bacpac。
我需要这个过程尽可能以最快的方式运行,所以如果一个选项对性能更好,我会很好奇。
我们在Azure中有很少的数据库(400Gb)。我们观察到当我们从存储加载数据时导入数据更快。我们遵循的方法是将数据加载到与数据库位于同一位置的存储中,然后导入数据..
SQLSERVER团队测试了一些选项,他们观察到 BCP与剩余选项相比最快 ..
以下是将bcp数据导入azure的方法
bcp TestDB.dbo.Customer在“C:\ Users \ cesardl \ Desktop \ Arquitectura Marco .NET DPE Spain_Windows Azure V \ BCP \ Customer.txt”-c -U mysqlazureuser @ mysqlazureservername -S tcp:mysqlazureservername.database。 windows.net -P mypassword
进一步阅读/参考资料:
Importing/Exporting data to SQL Azure databases using BCP and SQL Scripts
Loading data to SQL Azure the fast way
答案 1 :(得分:1)
DACPAC加数据是BACPAC。就个人而言,我会使用BACPAC方法。
答案 2 :(得分:1)
具有导入功能的BACPAC:仅适用于空数据库或新数据库
带有发布的DACPAC + ExtractAllTableData:您可以在目标数据库中拥有对象,并且默认情况下它将被覆盖