Posts Tagged ‘Managed Instance’

Azure SQL Managed Instance – An Introduction

October 17, 2018 1 comment

IMPORTANT: According to this post from Microsoft, Managed Instance creation is currently supported for Enterprise Agreement, Pay-As-You-Go, and Cloud Service Provider subscriptions.  I will update this post when additional subscription types are added.

Historically there have been two offerings available for running SQL Server in Azure.  The first is Azure SQL Database, released in 2010, which is Platform as a Service (PaaS). The second is SQL Server on an Azure VM, which is Infrastructure as a Service (IaaS), also released in 2010.  The benefits and drawbacks of each offering is listed below.

BenefitsDrawbacksUse Cases
Azure SQL DatabaseInfrastructure is fully managedLimited to a single databaseNew development in Azure
Cross-database communication is difficultMulti-tenant applications
No SQL Server Agent
Cannot be powered down
SQL Server on an Azure VMFull feature set of SQL Server
Client is responsible for managing infrastructureMigration of existing applications
Can be powered down to reduce costCreation of test environments
Multiple Databases
Cross-database communication
SQL Server Agent

The drawbacks of Azure SQL Database make it difficult to migrate existing applications, because of the number of application changes required.  Azure SQL Database is designed to be used for new development in Azure and for multi-tenant environments, where each tenant requires their own copy of a database.

The benefits of SQL Server on an Azure VM make it much easier to migrate an existing application to Azure.  However, the VMs underlying the application still have to be managed by the client.  This fails to take advantage of the management of resources in Azure, and uses Azure as a VM host.

A third option, Azure SQL Managed Instance, was released at the beginning of October 2018.  Managed Instance combines the best of the previous options.  With Managed Instance, the infrastructure is fully managed and the majority of the SQL Server feature set is available.  The full list of differences between a traditional install of SQL Server and Managed Instance can be found here.  A number of the most dramatic differences are listed below.

  • Filestream is not supported
  • Backups must be run to Azure Blob Storage
  • No control over file placement

In the following series of blog posts, I will detail the steps required for the following tasks:

Additionally, I will delve into the internals of an Azure SQL Managed Instance and describe where they differ from a regular SQL Server instance.

I am really excited about the options Azure SQL Managed Instance provides for migrating existing SQL applications to Azure and am looking forward to blogging about it.