好的,所以我想起了,因为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个演出的数据库上花费数小时。然后需要几个小时才能还原。除了我上面尝试过的以外,还有没有更快的方法?
答案 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模型/ Vcore模型)不支持SQL Server本机备份。
如果需要,ADMS会在最后对您的数据进行验证。