What is the Azure Database Migration Service (DMS)?
The Azure Database Migration Service (DMS) is a fully managed service that is designed to enable seamless and frictionless migrations from homogeneous and heterogeneous database sources to Azure Data platforms with minimal downtime. The service recently reached General Availability, with support for the following one-time migration scenarios:
- SQL Server to Azure SQL Database
- SQL Server to Azure SQL Database Managed Instance
- RDS.SQL to Azure SQL Database
Choosing an Azure DMS Tier
- General Purpose, which supports 1, 2, and 4 vCores.
- Business Critical (Preview), which supports 4 vCores.
The recommendations that appear in the section below are generated based on tests using the following source and target environment characteristics:
- The source database schema represents a standard TPC-C database.
- The source database is hosted on a Standard DS12 Azure VM with 4 Cores and 28 GB Memory.
- There are multiple target Azure SQL Database Performance Levels (single database).
- The source and target database(s) are hosted in the same Azure region.
Estimated data transfer rates for Azure DMS
The following table shows the estimated data transfer rates to Azure SQL Database performance levels using different Azure DMS tiers.
During the migration process, use the recommendations for the appropriate pricing tier and Azure SQL Database performance level based on the size of the database being migrated, as shown in the following table:
|Database workload description||Azure DMS pricing tier||Azure SQL Database Performance Level|
|I have one or more applications that reference 10 databases that need to be migrated together to Azure.
The average size of these databases is around 25GB, and each database has around 70 tables.
I need to migrate these databases with no more than 4 hours of downtime.
|Create two General purpose, 4 vCore DMS services.
Create two migration activities, one with 2 databases and the other with 3 databases, in each of the DMS service.
|P6 or higher|
|Our on-premises data center contract is ending, and we need to migrate all 600 of our databases to Azure SQL Database.
We negotiated 8 hours of downtime with our customers through the night,
These databases are relatively small, averaging 250 MB, and each database consists of an average of ten tables.
|Create one General purpose, 4 vCore DMS service.
Create 4 migration activities, each activity having 150 databases.
|S3 or P6|
|I have a SQL Server instance that hosts 4 databases averaging 250GB that needs to be migrated over a weekend.||Create two General purpose, 4 vCore DMS services.
Create two migration activities in parallel with 2 databases in each activity.
|I have a very large database (1TB) that needs to be migrated to Azure over the weekend.||General purpose, 4 vCore DMS service.||P15|
|I would like to perform a test or POC migration to Azure. My sample database is smaller than 10GB.||Any||S3 or P2|
After completing the database migration, use these guidelines to determine the Azure SQL Database performance level based on your workload.
For more information about Azure DMS and guidance about database migrations, view the following resources: