Roadmap › Azure Databases — Azure SQL, Managed Instance, Cosmos DB, PostgreSQL and Migration › Module: Migration and Cost
Lessons in this course (9)
8. Migrating on-premises SQL Server to Azure
Advanced★ Must knowLesson 8 of 9
| Method | Downtime | Notes |
|---|---|---|
| Azure Database Migration Service (offline/online) | Offline: hours; online: minutes | Assessment + migration orchestration; online uses continuous sync then cutover |
BACPAC export/import (sqlpackage) | Hours (size-dependent) | Simple for small databases into Azure SQL Database |
| Backup to URL + restore (Managed Instance) | Restore time | Native .bak restore to MI |
| Managed Instance link / log replay service | Minimal | Near real-time replication to MI, then failover |
| Transactional replication | Minimal | Publisher on-prem → subscriber in Azure SQL Database |
Pre-migration checklist: compatibility assessment (unsupported features: cross-database queries, SQL Agent jobs, CLR, linked servers, Windows logins), size and performance baseline (choose tier from actual CPU/IO), network path (VPN/ExpressRoute), application changes (connection strings, retry logic, Entra auth), jobs moved to Elastic Jobs/Functions, SSIS to Azure Data Factory (SSIS integration runtime), reports to Power BI or SSRS on a VM, test restore and rollback plan.