Before we migrate our database to the cloud we need to assess our on-premises SQL Server instance and Data Migration Assistant (DMA) tool can help us with that.
Using Data Migration Assistant (DMA) tool we can detect potential compatibility issues which may impact our database functionality after migration to Azure SQL managed Instance.
DMA main functionalities:
If you want to find more details about DMA and how to download and install you can find in this MS article.
As well you can download PowerPoint presentation from one of our Auckland SQL User Group Meetup session about database migration from on-premises SQL Server to the cloud.
SQL Migration Road map, phase by phase.
One of the important phase is “Assess”.
We will use DMA to assess our SQL Server Instance databases (SQL Server 2017) before we migrate them to Azure SQL Managed Instance.
Run the DMA and create new project. For this example we will use Data Migration Assistant (DMA) just for the Assessment, Database Experimentation Assistant (DEA) for capturing and replaying the workload and Azure Database Migration Service (DMS) for moving our SQL Server databases to the cloud (Azure SQL MI). Although you can use DMA for schema and data migration as well I wouldn’t recommend this tool for the big databases migration, just for the assessment.
Choose the project type (Assessment), source and target server type. In this example I used SQL Server as a source and Azure SQL Managed Instance as a target server type.
Next step is to select report type.
In this example we will check possible compatibility issues that may block our migrating to the cloud. DMA as well provides recommendations to help you address those issues.
Connect to the server and select source databases
And finally start assessment.
As you can see from the picture bellow possible compatibility issues may be:
Issue details
Impact and recommendation:
Those data types are checked as deprecated. Deprecated data types are marked to be discontinued on next versions of SQL Server. We should avoid using these data types in new development work, and plan to modify applications that currently use them. Use nvarchar(max), varchar(max), and varbinary(max) instead.
In some cases, using TEXT, IMAGE or NTEXT might harm performance as well.
I will not go too detailed into explaining all possible compatibility issues or feature recommendations DMA can provide us. This DMA post was meant to be just a part of the migration sequence
If you would like to read more about different compatibility issues identified under breaking changes, behavior changes, and deprecated features, as well different feature recommendation across performance, storage, and security areas read this Microsoft Article, there you may find all necessary information about DMA usage.
More details about DEA with usage example you can see on the following post.
Azure SQL Managed Instance / Migration / Database Experimentation Assistant (DEA) / Evaluate your workload before you migrate your database to Azure SQL Managed Instance
Leave a Reply