Recommend a solution for migrating databases

Database migration comes down to choosing between offline and online methods.

It’s important to understand the tradeoffs

Offline migration means the server is shut down at the start, so downtime begins immediately. This approach is straightforward but can be disruptive, especially in a production environment.

So we have the online migration tool. With the online, we keep the source database running while we’re syncing the database continuously to the target. Downtime is limited to just a final cutover, which takes a few seconds, making it a better fit for production environments where minimizing impact is crucial.

It’s important to know that not every source and target database pair supports these methods, so keep that in mind.

Understanding how to use each method and how they affect downtime and business continuity is key for preparing for scenario-based questions on the exam.

Azure Database Migration Service 

View a complete list of services and tools available for data migration scenarios.

Azure Database Migration Service is a fully managed service. The service enables seamless migrations from multiple database sources to Azure data platforms. You can migrate your databases offline or while they’re online.

  • Offline migration: An offline migration requires shutting down the server at the start of the migration.
  • Online migration: An online migration uses a continuous synchronization of live data, which allows a cut over to the Azure replica database at any time. Online migration minimizes downtime.
  • Not all migration scenarios have both offline and online capabilities.
Migration scenarioMigration mode
SQL Server to Azure SQL Managed InstanceOnline or Offline
SQL Server to SQL Server on Azure Virtual MachineOnline or Offline
SQL Server to Azure SQL DatabaseOffline

When selecting a database migration solution, determine which features are important to you:

  • Do you need an assessment to identify compatibility issues?
  • Do you need a SKU recommendation?
  • Do you need to migrate database logins and schemas?
  • Do you need to automate the process?
  • Do you have a specific product scenario?
  • Do you need to integrate with other migration tools?
FeatureDMS (Azure portal)Notes
AssessmentNoAssess compatibility of the source.
SKU recommendationNoSKU recommendations for the target based on the assessment of the source.
Azure SQL Database – Offline migrationYesMigrate to Azure SQL Database offline.
Azure SQL Managed Instance – Online migrationYesMigrate to Azure SQL Managed Instance online with minimal downtime.
Azure SQL Managed Instance – Offline migrationYesMigrate to Azure SQL Managed Instance offline.
SQL Server on Azure SQL Virtual Machine – Online migrationYesMigrate to SQL Server on Azure VMs online with minimal downtime.
SQL Server on Azure SQL Virtual Machine – Offline migrationYesMigrate to SQL Server on Azure VMs offline.
Migrate loginsNoMigrate logins from your source to your target.
Migrate schemasYesMigrate schemas from your source to your target.
Azure portal supportYesCreate and monitor your migration by using the Azure portal.
Regional availabilityYesFor regional availability, see Products available by region.
Improved user experienceYesThe DMS is faster, more secure, and easier to troubleshoot.
AutomationYesThe DMS supports PowerShell and Azure CLI.
Private endpointsYesConnect to your source and target using private endpoints.
TDE supportNoMigrate databases encrypted with TDE.


Offline (one-time) migration support

The following table describes the current status of Database Migration Service (DMS) support for offline migrations:

TargetSourceSupportStatus
Azure SQL DatabaseSQL Server 1Yes [using DMS]GA
Amazon RDS SQL ServerYes [using DMS]GA
OracleYes [using DMS via SSMA*]Preview
Azure SQL Database Managed InstanceSQL Server 1Yes [using DMS]GA
Amazon RDS SQL ServerYes [using DMS]GA
OracleYes [using DMS via SSMA*]Preview
Azure SQL VMSQL Server 1Yes [using DMS]GA
Amazon RDS SQL ServerYes [using DMS]GA
OracleYes [using DMS via SSMA*]Preview
Azure Cosmos DBMongoDBYesGA
Azure Database for MySQL – Flexible ServerMySQLYesGA
Amazon RDS MySQLYesGA
Amazon Aurora MySQLYesGA
Google Cloud SQL for MySQLYesGA
Percona MySQLYesGA
Azure Database for MySQL 2YesGA
Azure Database for PostgreSQL flexible serverPostgreSQLNo
Amazon RDS PostgreSQLNo
  • *SSMA = SQL Server Migration Assistant)
  • 1 Offline migrations by using Azure DMS are supported for Azure SQL Managed Instance, SQL Server on Azure Virtual Machines, and Azure SQL Database.
  • 2 If your source database is already in an Azure platform as a service (PaaS) like Azure Database for MySQL or Azure Database for PostgreSQL, choose the corresponding engine when you create your migration activity. For example, if you’re migrating from Azure Database for MySQL – Flexible Server to another Azure Database for MySQL – Flexible Server, choose MySQL as the source engine when you create your scenario. If you’re migrating from Amazon RDS for PostgreSQL to Azure Database for PostgreSQL flexible server, choose PostgreSQL as the source engine when you create your scenario.

Online (continuous sync) migration support

The following table describes the current status of Database Migration Service (DMS) support for online migrations:

TargetSourceSupportStatus
Azure SQL DatabaseSQL Server 1No
Amazon RDS SQLNo
OracleNo
Azure SQL Database MISQL Server 1Yes [using DMS]GA
Amazon RDS SQLYes [using DMS]GA
OracleNo
Azure SQL VMSQL Server 1Yes [using DMS]GA
Amazon RDS SQLYes [using DMS]GA
OracleNo
Azure Cosmos DBMongoDBYesGA
Azure Database for MySQL – Flexible ServerMySQLYesGA
Amazon RDS MySQLYesGA
Amazon Aurora MySQLYesGA
Google Cloud SQL for MySQLYesGA
Percona MySQLYesGA
Azure Database for MySQL 2YesGA
Azure Database for PostgreSQL flexible serverPostgreSQLYesGA
Amazon RDS PostgreSQLYesGA

1 Online migrations (minimal downtime) by using Azure DMS are supported for Azure SQL Managed Instance and SQL Server on Azure Virtual Machines targets.

2 If your source database is already in an Azure PaaS like Azure Database for MySQL or Azure Database for PostgreSQL, choose the corresponding engine when you create your migration activity. For example, if you’re migrating from Azure Database for MySQL – Flexible Server to another Azure Database for MySQL – Flexible Server, choose MySQL as the source engine when you create the scenario. If you’re migrating from Amazon RDS for PostgreSQL to Azure Database for PostgreSQL flexible server, choose PostgreSQL as the source engine when you create the scenario.