What is an Azure SQL Database Managed Instance?
Azure SQL Database Managed Instances provide the broadest SQL Server engine compatibility and native virtual network support. Microsoft states that Managed Instance is the best destination to move a large number of existing SQL Server databases from on-premises or virtual machines to Azure SQL Database.
Easy to set up
You can create a new Azure SQL Database Managed Instance in 10 simple steps. What’s even more important is that you can set up various additional features in a matter of a few mouse clicks. For example, it’s easier than ever to set up your high availability with Always On Failover Clusters and Always On Availability Groups. Basically, select the deployment option – done! The same approach relates to the other database management options.
You can opt for one of the two service tiers available for Azure SQL Database Managed Instances.
- General Purpose service tier is designed for applications with typical performance and IO latency requirements.
- Business Critical service tier is designed for applications with low IO latency requirements and minimal impact of underlying maintenance operations on the workload.
Both service tiers guarantee 99.99% availability and enable you to independently select storage size and compute capacity.
Azure SQL Database Managed Instances combine advanced security features provided by the Azure cloud and SQL Server Database Engine. Particularly, Managed Instances provide additional security isolation from other tenants in the Azure cloud, including:
- Native virtual network implementation and connectivity to your on-premises environment using Azure Express Route or VPN Gateway
- SQL endpoint is exposed only through a private IP address, allowing safe connectivity from private Azure or hybrid networks
- Single-tenant with dedicated underlying infrastructure (compute, storage)
In addition to that, you can take advantage of the Azure SQL Database Security Features, including Managed Instance auditing, threat detection, and the following:
- Data encryption in motion
- Dynamic data masking
- Row-level security
- Transparent data encryption
Challenges we have seen moving to Azure SQL Database Managed Instances
While Microsoft claims that Azure SQL Database Managed Instances deliver “close to 100% compatibility”, the operative word in the quote is “close”. Likewise, you have the standard challenges when moving any SQL Server-based solution to Azure. Here are some of the challenges that we’ve experienced moving our customer’s workloads to Managed Instances and how we overcame them.
Newer Azure hardware runs better than old on-premises servers, so you may be overprovisioning your Azure SQL Database Managed Instance
Our Solution Architects can help you choose the right size of your VM in the Azure cloud.
It all starts with an understanding of your current data estate. Our in-house tools will monitor your existing on-premises databases, as well as the hardware, software, CPU usage, memory, disk latency, and network bandwidth.
Then, based on the metrics collected by these tools and the actual performance of your current workload, our experts recommend the appropriate size of the Managed Instance.
Following this path, you can optimize licensing costs and improve the performance with a rationalized move to the cloud.
Close to 100% compatibility doesn’t mean 100%
Understanding what works and what doesn’t goes beyond a static analysis of your database. It’s all about the applications.
Microsoft recommends using the Data Migration Assistant to move your on-premises workloads to the Azure SQL Database Managed Instances. However, before you start, you should check the list of what won’t work when you migrate over on the Azure SQL Database Managed Instance T-SQL differences from SQL Server page. Keep in mind that The Microsoft Data Migration Assistant (DMA) only performs a static analysis of your SQL Server instance and databases on that instance. So, there’s a lot of manual work waiting for you before you can run your databases in the Azure SQL Database Managed Instance.
First of all, you will need to discover the unsupported statements and manually update them. For example, you can opt to trace SQL statements using server-side tracing or Extended Events, but you risk adding an additional load to your production servers.
The ABCloudz approach starts with a thorough analysis of your existing database applications. Our in-house technologies help discover incompatible code coming from your applications. Based on the results of this analysis, our experts will provide you with a migration plan that is right for your applications.
Moving your SQL Server 2008 and 2008 R2 database to Azure is more than lift and shift
While Microsoft is offering reduced licensing incentives to simply move your databases to Managed Instances until you can upgrade on your own time, there are many factors to consider when moving to Azure.
These factors include:
Our experienced consultants, processes, and tools can help you actually achieve a seamless lift and shift experience to minimize your downtime and get your databases on to Azure SQL Database Managed Instance. Moreover, you will be sure that your new database platform meets all your compliance requirements.
Getting started offers
The operational and financial benefits of an intelligent, fully managed service look undoubtful. To start moving your workloads to Azure SQL Database Managed Instances, you should first run a thorough assessment. This will help choose the optimal size of Database Managed Instance to meet your needs.
We recommend starting with examining each aspect of your database and determine where you’re able to cut costs, consolidate servers, and how best to manage your data. Then, based on the assessment results, you can opt for Migration to Azure offer or Future-state architectural design engagement. And, of course, it’s worth it to consider Azure SQL Database Managed Instances when upgrading your running out of support SQL Server databases.