Azure Database Migration Service (DMS)
As I first mentioned in my blog Microsoft database migration tools, the Azure Database Migration Service (DMS) is a PaaS solution that makes it easy to migrate from on-prem/RDS to Azure and one database type to another. I’ll give a brief overview of some of the key features:
The first thing you will do is create an instance of Azure Database Migration Service, which basically reserves compute power in a region (make sure it’s the region where you destination databases will be – there is a limit of 2 DMS’s but you can email support to have it increased). DMS allows you to choose an already existing VNET with connectivity to your source or create a basic VNET that can connect to your source servers that have public facing IPs (or are under the same VNET as the DMS service or are accessible via VNET peering or tunneling). In case your migration target is SQL Database Managed Instance (SQL MI), this also needs to be the VNET where your SQL MI instance is located (you can skip this step if migrating to SQL Database Single since it doesn’t support VNET). Note the usual case is to connect to an existing VNET that has connectivity to the source and target so you don’t have to create a new VNET when creating a DMS. After you create the DMS, you can create a migration project and run migration activities.
While DMS requires users to do full backup and subsequent log backups for SQL to SQL DB MI online migrations, for offline migrations users have the option of having DMS create the backup or of using an existing full backup.
When creating a migration project, you will choose either “online data migration” or “offline data migration” to refer to migrations with and without ongoing replication, respectively.
Offline migrations does a backup & restore in SQL to SQL VM and SQL to SQL MI scenarios. For SQL to SQL Database Single, it copies the data (schema migration support to be added soon) itself using a home-built DMS streaming pipeline that uses bulk copy APIs, which has one of the best throughput when compared to all existing tech. The same tech ships in Database Migration Assistant (DMA), but DMS is more reliable and scalable.
Online migrations (also known as continuous migrations, minimal downtime, continuous sync) uses tech that is based on reading the logs and streaming the data (for migrations to SQL Database Single it syncs via transactional replication and you must use DMA first to migrate the schema which may need changes). In private preview is a new pipeline for migrations to SQL MI which will be based on log shipping.
Here is the list of all the current migration options (as of February 2019):
The new Database Migration Guide is for enterprise customers, partners, and business decision makers who are interested in moving to Azure cloud services (i.e. migrating from Oracle or SQL Server to Azure Data Services). The Database Migration Guide provides comprehensive, step-by-step guidance for performing migrations, as well as improves the discoverability of the guidance, tools, software, and programs that are available to assist customers in performing these migrations. Also, this white paper will guide you through the thought process and steps required to migrate your database workloads from on-premises to Azure-based cloud services.
Currently Microsoft does not have assessment rules in DMA specifically for SQL MI but it should be available soon.
More info:
Migrating and modernizing your data estate to Azure with Data Migration Services : Build 2018
Migration from SQL Server to Azure SQL Database Managed Instance
Nice writeup James. Worth mentioning that several customers are using Striim to do online, continuous migrations from Oracle and MongoDB to Azure services such as Azure PostgreSQL, Azure SQL DW, and Azure SQLDB
More info on the Azure Blog:
https://azure.microsoft.com/en-us/blog/enabling-real-time-data-warehousing-with-azure-sql-data-warehouse/