Azure SQL Database managed instance vs. SQL Server

As organizations face increasing pressure to modernize their applications and infrastructure, the benefits of the cloud have become impossible to ignore. Fortunately, Azure SQL Database managed instance makes it easy to move your SQL Server workloads to the cloud. Nearly 100 percent compatible with the latest SQL Server on-premises database engine, this fully managed service allows you to use the knowledge you already have to run SQL Server in the cloud. You can learn more about the benefits of Azure database capabilities in the e-book Future-Proof Your Data Infrastructure with Azure: A Business Case for Database Administrators.

Let’s look at some of the differences between Azure SQL Database managed instance and SQL Server, as well as how to migrate.

SQL Database managed instance: Under the hood

Azure SQL Database managed instance is a fully managed SQL Server Database engine instance that’s hosted in Azure and placed in your network. This deployment model makes it easy to lift and shift your on-premises applications to the cloud with very few application and database changes.

Managed instance has split compute and storage components. You can have compute nodes with 8, 16, or 24 cores. The nodes work with database files stored on Azure Premium disk storage. Every database file is placed on a separate Azure Premium disk, and a separate backup mechanism ensures that if something happens to the files, the platform can still restore files from backups. In addition, redundant passive nodes are used to fail-over compute instance if needed.

Scaling managed instance

Because it’s in the cloud, managed instance gives you the ability to easily scale up and down. For example, you can create a managed instance with 16 cores and 500 GB of storage, and then increase or decrease these numbers with the click of a mouse, depending on your needs. Any change you make takes effect almost instantly.

Migrating to Azure SQL Database managed instance

Migrating to the cloud with managed instance is easy. The simplest way to do so is to create a backup of your on-premises database, move it to Azure Blob storage, and restore the database on managed instance using a standard RESTORE DATABASE …. FROM URL T-SQL statement. If you need to minimize your downtime during the migration, we suggest using the Azure Database Migration Service.

Connecting to managed instance

Azure SQL managed instance runs in your Azure Virtual Network (VNET) on a private IP address. There are several ways you can connect to managed instance.

VPN connection: Create a VPN connection between your on-premises network and Azure Virtual Network. You’ll see managed instance just as you would any other SQL Server in your network.

Azure virtual machine(VM): Connect via an Azure virtual machine in your Azure Virtual Network using standard remote desktop (RDP) or an app in the virtual machine. If your virtual machine is placed in some other Azure Virtual Network, you’ll need to establish peering between the two networks.

Azure Apps Virtual Network integration: Connect your web application to managed instance using Azure Apps Virtual Network integration or by placing your web app into an App Service environment that’s placed in Azure Virtual Network. If your web app or App Service environment is in another virtual network, you’ll need to establish peering between the two networks.

Moving to the cloud doesn’t require extensive training. You can get all the benefits of running SQL Server in the cloud with the skills you have today. Simply leverage Azure SQL Database managed instance to do a lift-and-shift migration of your existing on-premises SQL Server databases.