将bak文件还原到Azure SQL PAAS数据库?

时间:2019-06-11 15:54:16

标签: azure azure-sql-database restore azure-sql-server

好的,所以我想起了,因为Azure有很多工具,而我在最佳流程上却无法仅问SO。

我能做什么:

BACPAC creation:
Creation is directly from SSMS with hovering over the database in Object Explorer.  Right Click>Tasks>Export Data Tier Application.   Choose a disk location.  The caveat is generally to not have a database that is in use querying.  So have a copy or system that can be not using the database.

BACPAC restore to Azure:
1.  SqlPackage.exe https://docs.microsoft.com/en-us/sql/tools/sqlpackage?view=sql-server-2017

When I do it it is similar to: (must have Visual Studio or equivalent Sql management object DLLs installed)
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\130\SqlPackage.exe" /a:Import /sf:(bacpac Location) /tdn:(dbName)/tsn:bvtest.database.windows.net /tu:(user) /tp:(password)

2.  In Azure>SQL Servers>(Top ribbon)>Import database>(have blob storage with a bacpac created to it already).  This method appears slightly faster if they are both on same region.

我的问题是我看过类似https://docs.microsoft.com/en-us/sql/azure-data-studio/tutorial-backup-restore-sql-server?view=sql-server-2017这样的文章,并且非常了解SSMS。对于“空白”备份,似乎所有还原到Azure SQL PAAS的选项都已关闭,并且您必须为将实例转到Azure PAAS做一个bacpac。问题是,要使bacpac在相对中等大小的120个演出的数据库上花费数小时。然后需要几个小时才能还原。除了我上面尝试过的以外,还有没有更快的方法?

1 个答案:

答案 0 :(得分:1)

您可以使用Azure Data Migration Service(ADMS)代替导入/导出bacpac。 Azure数据迁移服务允许您在数据库不存在“堆”的情况下,将数据从SQL Server迁移到Azure SQL数据库,而无需停机。如果数据库有堆,则必须执行脱机迁移。通过脱机迁移,将数据从SQL Server ARM(IaaS)高级存储(200 GB / 790表)复制/迁移到Azure SQL数据库(高级)需要1小时40分钟。我认为这是导入/导出bacpac最快的数据迁移方法,因为Azure SQL数据库(DTU模型/ Vcor​​e模型)不支持SQL Server本机备份。

如果需要,ADMS会在最后对您的数据进行验证。