Hi Georg Sieber,
Thankyou for reaching microsoft Q&A!
Moving from Azure SQL Database in an elastic pool to Azure SQL Managed Instance is a pretty common scenario for customers who need things like cross‑database queries, SQL Server Agent, or other instance‑level capabilities that aren’t available in Azure SQL Database. The challenge is that the two services run on different architectures, so the usual migration methods people use elsewhere native backup and restore, log shipping, transactional replication, Always On, or even most Azure Database Migration Service options aren’t supported for this specific path.
Because of that, the supported approach for moving both schema and data from Azure SQL Database to Managed Instance is still BACPAC. In practice, this means exporting each database to a BACPAC file using SqlPackage or the Data‑tier Application wizard in SSMS. For larger databases, teams typically run SqlPackage from an Azure VM or any host with good local storage so the export is faster, and they automate or parallelize the exports to handle dozens of databases efficiently.
Once the BACPACs are generated, they’re imported into the Managed Instance as new databases. After the imports finish, you recreate your logins, permissions, SQL Agent jobs, and whatever other server‑level objects you need. At that point, the only remaining step is to update your application connection strings to point to Managed Instance instead of the old Azure SQL Database server.
Since BACPAC is a point‑in‑time export, there’s going to be a downtime window during the final export and import where the source databases shouldn’t be modified. Most customers handle this by scripting the whole process, doing test runs on a smaller subset of databases, and scheduling a maintenance window for the full cutover especially in cases like yours with around 100 databases ranging from a few gigabytes to a few hundred.
If reducing downtime even further is a requirement, you can build something more custom using tools like Azure Data Factory or SSIS to pre‑copy data and then only migrate the final deltas during cutover. This doesn’t replace the BACPAC process, but it helps in scenarios where the application can be adapted to support that sort of staged migration.
Overall, as of today, the supported and reliable method to migrate from Azure SQL Database to Azure SQL Managed Instance is BACPAC export and import, combined with automation and staged testing to manage scale and downtime.
References:
Migrate to Azure SQL Managed Instance
Azure Database Migration Service
How to migrate Azure SQL Database to Azure SQL Managed Instanc