Migrating on-premises SQL Server workloads and associated applications to the cloud usually brings a wide range of questions that go beyond mere product feature information.
This article provides a holistic view and helps understand how to fully unlock the value when migrating to Azure SQL. The Modernize applications and SQL section covers questions about Azure SQL in general as well as common application and SQL modernization scenarios. The Business and technical evaluation section covers cost saving, licensing, minimizing migration risk, business continuity, security, workloads and architecture, performance and similar business and technical evaluation questions. The last section covers the actual Migration and modernization process, including guidance on migration tools.
Modernize applications and SQL
Azure SQL
What are the benefits of moving applications and SQL Server workloads to Azure?
A migration to Azure brings optimized costs, flexibility and scalability, enhanced security, compliance, improved business continuity, and simplified management and monitoring.
What is the difference between migration and modernization to Azure SQL?
Migration to Azure SQL involves moving applications, infrastructure, and data from one location (for example, a company's on-premises datacenter) to Azure infrastructure. For SQL Server customers, this means migrating your workloads while minimizing impact to operations. You can reduce IT costs, enhance security and resilience, and achieve on-demand scale.
Modernization to Azure SQL involves updating existing applications for newer computing approaches and application frameworks and use of cloud-native technologies. This can be achieved by using PaaS services such as Azure SQL Database and Azure SQL Managed Instance, which provides extra benefits of app innovation, agility, developer velocity, and cost optimization.
What does IaaS and PaaS mean?
Infrastructure as a service (IaaS) is a type of cloud computing service that offers essential compute, storage, and networking resources on demand.
Platform as a service (PaaS) is a complete development and deployment environment in the cloud, with resources that enable you to deliver everything from simple cloud-based apps to sophisticated, cloud-enabled enterprise applications.
PaaS provides other advantages over IaaS, such as shorter development cycles, extra development capabilities without adding staff, affordable access to sophisticated tools, to mention a few. Azure SQL provides both PaaS (SQL Managed Instance, SQL Database) and IaaS (SQL VM) services.
How do I decide if I should move my SQL Server to a Virtual Machine, SQL Managed Instance or SQL Database?
SQL Managed Instance is the right PaaS target to modernize your existing SQL Server applications at scale providing almost all SQL Server features (including instance-level features) while reducing the costs of server and database management.
SQL Database is the most appropriate choice when building native cloud applications, as it offers high elasticity and flexibility of choosing between architectural and compute tiers, such as Serverless tier for increased elasticity and Hyperscale service tier for a highly scalable storage and compute resources.
If you need full control and customization, including OS access, you can opt for SQL Server on Azure VM. The service comparison provides more details. A range of migration tools helps making the optimal choice by providing an assessment of target service compatibility and costs.
How can I reduce costs by moving to Azure SQL?
Moving to Azure brings savings in resource, maintenance, and real estate costs, in addition to the ability to optimize workloads so that they cost less to run. Azure SQL Managed Instance and SQL Database bring all the advantages of PaaS services, providing automated performance tuning, backups, software patching and high-availability, all of which entails enormous effort and cost when performing manually.
For example, SQL Managed Instance and SQL Database (single database and elastic pool) come with built-in HA. Also, Business Critical (SQL Managed Instance) and Premium (SQL Database) tiers provide read-only replicas at no additional cost, while SQL Database Hyperscale tier allows HA and named secondary replicas for read scale-out at no license cost. Additionally, Software Assurance customers can use their on-premises SQL Server license on Azure by applying Azure Hybrid Benefit (AHB). Software Assurance also lets you implement free passive HA and DR secondaries using SQL VM.
What is the best licensing path to save costs when moving existing SQL Server workloads to Azure?
Unique to Azure, Azure Hybrid Benefit (AHB) is a licensing benefit that allows you bringing your existing Windows Server and SQL Server licenses with Software Assurance (SA) to Azure. Combined with reservations savings and extended security updates, AHB can bring you up to 85% savings compared to pay-as-you-go pricing in Azure SQL. In addition, make sure to check different Dev/Test pricing plans.
Applications and SQL modernization scenarios
Scenario 1: Data center move to the cloud: what is the modernization path for applications and SQL Server databases?
Scenario 2: Reducing SQL Server costs: How can I reduce the cost for my existing SQL Server fleet?
Moving to Azure SQL VMs, SQL Managed Instance or SQL Database brings savings in resource, maintenance, and real estate costs. Using your SQL Server on-premises licenses in Azure via Azure Hybrid Benefit, using Azure Reservations for SQL VM, SQL Managed Instance and SQL Database vCores, and using constrained vCPU capable Virtual Machines give you a wide variety of options to build a cost-effective solution.
For implementing BCDR solutions in Azure SQL, you benefit from built-in HA replicas of SQL Managed Instance and SQL Database or free passive HA and DR secondaries using SQL VM. Also, Business Critical (SQL Managed Instance) and Premium (SQL Database) tiers provide read-only replicas at no additional cost, while SQL Database Hyperscale tier allows HA and named secondary replicas for read scale-out at no license cost. In addition, make sure to check different Dev/Test pricing plans.
Scenario 4: SQL Server end of support: Which options do I have to move to Azure SQL?
Once your SQL Server has reached the end of support stage, you have several modernization options toward Azure SQL. One of the options is to migrate your workload to an Azure SQL Managed Instance, which provides high feature parity with the on-premises SQL Server product. Alternatively, with some additional effort, you can move the workload to Azure SQL Database. These services run on SQL Server evergreen features, effectively granting you "the end of End of Support".
Whenever a Platform-as-a-Service (PaaS) solution doesn't fit your workload, Azure SQL Virtual Machines provide the possibility to do an as-is migration. By moving to Azure SQL VM, you also receive free extended security patches that can provide significant savings (for example, up to 69% for SQL Server 2012).
Scenario 5: Meeting regulatory compliance: How does Azure SQL help meet regulatory compliance requirements?
The Microsoft Cloud Adoption Framework for Azure is a great starting point to help you create and implement the business and technology strategy necessary for your move to Azure.
How can I estimate Total Cost of Ownership (TCO) savings when moving to Azure SQL?
Moving to Azure SQL brings significant TCO savings by improving operational efficiency and business agility, as well as eliminating the need for on-premises hardware and software. According to the ESG report on The Economic Value of Migrating On-Premises SQL Server Instances to Microsoft Azure SQL Solutions, you can save up to 47% when migrating from on-premises to Azure SQL Virtual Machines (IaaS), and up to 64% when migrating to Azure SQL Managed Instance or Azure SQL Database (PaaS).
What is the licensing model for SQL Managed Instance?
SQL Managed Instance licensing follows the vCore-based licensing model, where you pay for compute, storage, and backup storage resources. You can choose between several service tiers (General Purpose, Business Critical) and hardware generations. The SQL Managed Instance pricing page provides a full overview of possible SKUs and prices.
Can I use my on-premises SQL Server license when moving to Azure SQL?
If you own Software Assurance for core-based or qualifying subscription licenses for SQL Server Standard Edition or SQL Server Enterprise Edition, you can use your existing SQL Server license when moving to SQL Managed Instance, SQL Database, or Azure VM by applying Azure Hybrid Benefit (AHB). You can also simultaneously use these licenses both in on-premises and Azure environments (dual use rights) for up to 180 days.
How do I move from SQL VM to SQL Managed Instance?
You can follow the same migration guide as for the on-premises SQL Server.
I'm using SQL Server subscription license. Can I use it to move to Azure SQL?
Yes, qualifying subscription licenses can be used to pay Azure SQL services at a reduced (base) rate by applying Azure Hybrid Benefit (AHB).
I'm using SQL Server CAL licenses. How can I move to Azure SQL?
SQL Server CAL licenses with appropriate license mobility rights can be used on Azure SQL VMs, and on Azure SQL Dedicated Host.
What is Azure Hybrid Benefit (AHB)?
Unique to Azure, Azure Hybrid Benefit (AHB) is a licensing benefit that allows you bringing your existing Windows Server and SQL Server licenses with Software Assurance (SA) to Azure. AHB can bring you up to 85% savings compared to pay-as-you-go pricing in Azure SQL, when combined with reservations savings and extended security updates. For more information, see Microsoft Azure Services Product Terms.
How do I translate my SQL Server on-premises license to vCore license in SQL Managed Instance, SQL Database, and SQL VM?
For every one (1) core of SQL Server Enterprise Edition, you get four (4) vCores of SQL Managed Instance General Purpose tier or one (1) vCore of SQL Managed Instance Business Critical tier. Similarly, one (1) core of SQL Server Standard Edition translates to one (1) vCore of SQL Managed Instance General Purpose tier, while four (4) vCores of SQL Server Standard Edition translate to one (1) vCore of SQL Managed Instance Business Critical.
Is Software Assurance (SA) required for using SQL Server license on Azure SQL?
Software Assurance is a licensing program that can be applied to on-premises SQL Server licenses, allowing license mobility, AHB, and other benefits. SA is required if AHB is to be invoked for using existing SQL Server licenses (with SA) when moving to Azure SQL. Without SA + AHB, customers are charged with PAYG pricing.
Alternatively, the outsourcing software management terms applicable to SQL Server licenses acquired before October 1, 2019, permit you to allocate your existing licenses to Azure Dedicated Host just as you would license a server in your own data center: see Pricing - Dedicated Host Virtual Machines.
Do I have to pay for high availability (HA) in SQL Managed Instance and SQL Database?
Both General Purpose and Business Critical tiers of SQL Managed Instance and SQL Database are built on top of inherent high availability architecture. This way, there's no extra charge for HA. For SQL Database Hyperscale tier, the HA replica is charged.
Do I have to pay for HA and DR replicas for Azure SQL VM?
If you have Software Assurance, you can implement high availability (HA) and disaster recovery (DR) plans with SQL Server on Azure SQL VMs, without incurring additional licensing costs for the passive disaster recovery instance. For more information, see the SQL VM documentation.
Do I have to pay for disaster recovery (DR) in SQL Managed Instance and SQL Database?
SQL Managed Instance provides the possibility to configure a license-free standby replica, which means that SQL Server licensing costs for the vCores that the secondary standby replica uses aren't charged.
Can I centrally manage Azure Hybrid Benefit for SQL Server across the entire Azure subscription?
Yes. You can centrally manage your Azure Hybrid Benefit for SQL Server across the scope of an entire Azure subscription or overall billing account. This feature is currently in preview.
If I move some of SQL Servers, my workloads to SQL Managed Instance and leave some workloads on-premises, can I manage all my SQL licenses in one place?
You can centrally manage your licenses that are covered by Azure Hybrid Benefit for SQL Server across the scope of an entire Azure subscription or overall billing account. This data can be combined with an overview maintained by your licensing partner/procurement department or obtaining licensing information by creating your own custom licensing overview. Your licenses must be used either on-premises or in the cloud, but you have 180 days of concurrent use rights while migrating servers.
How can I minimize downtime during the online migration?
The SQL Managed Instance link feature offers the best possible minimum downtime online migrations solution, meeting the needs of the most critical tier-1 applications. You can consult a full range of migration tools and technologies choose the optimal for your use scenario.
Risk free migration with a hybrid strategy
Can I keep running on-premises, while modernizing my applications in Azure?
With SQL Server 2016, 2019, and 2022, you can use the Link feature for Azure SQL Managed Instance to create a hybrid connection between SQL Server and Azure SQL Managed Instance. Data is replicated near real-time from SQL Server to Azure, and can be used to modernize your workloads in Azure. You can use the replicated data in Azure for read scale-out and for offloading analytics.
For how long can I keep the hybrid solution using Link feature for Azure SQL Managed Instance running?
You can keep running the hybrid link for as long as needed: weeks, months, years at a time, there are no restrictions on this.
Can I apply a hybrid approach and use Link feature for Azure SQL Managed Instance in order to validate my migration strategy, before migrating to Azure?
Yes, you can use your replicated data in Azure to test and validate your migration strategy (performance, workloads, and applications) before migrating to Azure.
Can I reverse migrate out of Azure SQL and go back to SQL Server if necessary?
With SQL Server 2022, we offer the best possible solution to seamlessly move data back with native backup and restore from SQL Managed Instance to SQL Server, completely de-risking the migrations strategy to Azure.
Workloads and architecture
How do I determine which SQL Server workloads should be moved to SQL Managed Instance?
When migrating SQL Server workloads to Azure SQL Managed Instance is normally the first option, as most databases are "as-is" ready to migrate to SQL Managed Instance. There are several tools available to help you assess your workload for compatibility with Azure SQL Managed Instance.
You can use the Azure SQL Migration extension in Azure Data Studio or Data Migration Assistant. Both tools provide help to detect issues that can affect the Azure SQL Managed Instance migration and provide guidance on how to resolve them. After verifying compatibility, you can run the SKU recommendation tool to analyze performance data and recommend a minimal Azure SQL Managed Instance SKU. Make sure to visit Azure Migrate which is a centralized hub to assess and migrate on-premises servers, infrastructure, applications, and data to Azure.
How do I determine the appropriate SQL Managed Instance target for a particular SQL Server on-premises workload: SQL Managed Instance General Purpose or Business Critical tier?
SQL Managed Instance tier choice is guided by availability, performance (for example, throughput, IOPS, latency), and feature (for example, in-memory OLTP) requirements. The General Purpose tier is suitable for most generic workloads, as it already provides HA architecture and a fully managed database engine with a storage latency between 5 ms and 10 ms. The Business Critical tier is designed for applications that require low-latency (1-2 ms) responses from the storage layer, fast recovery, strict availability requirements, and the ability to off-load analytics workloads.
How can I move a highly automated SQL Server to SQL Managed Instance?
Can I move only a specific workload out of an on-premises cluster, and what is the impact to licensing and cost?
It's possible to only migrate the databases related to one workload toward an Azure SQL Managed Instance. Creating and operating an Azure SQL managed instance requires SQL Server licenses. Azure Hybrid Benefit provides you with the ability to reuse your licenses. Reach out to your licensing partner to review what possibilities can be used with license mobility and restructuring your current licenses.
I maintain a highly consolidated SQL Server with multiple applications running against it. Can I move it to SQL Managed Instance?
Similarly as with on-premises SQL Server, you can consolidate and run multiple databases on a single SQL Managed Instance instance, at the same time benefiting from inherent high-availability architecture as well as shared security and management. SQL Managed Instance also supports cross-database queries.
How do I migrate SQL Server Business Intelligence workloads (including Reporting Services and Analysis Services) that aren't compatible with SQL Managed Instance?
The least effort migration path is to move as-is and host the Business Intelligence components on an Azure VM. The Reporting Services database can be hosted on Azure SQL Managed Instance and Azure Data Factory provides the capability to lift and shift SSIS solutions to the cloud. When building a modern solution is part of the migration effort, Azure is providing a wide variety of services to build an Enterprise data warehouse solution.
I'm using an application from an ISV that doesn't support SQL Managed Instance / Azure. What are my options to move my application to Azure and SQL Server to Azure SQL?
Migrating your environment as-is to an Azure Virtual Machine is the safest option when the ISV or vendor isn't providing any options. However, we encourage ISVs and vendors that are working closely with Microsoft to review the options with Azure SQL Managed Instance. Azure SQL Managed Instance provides backward compatibility options through database compatibility level, guidance for Transact-SQL differences and has implemented major features to Azure SQL Managed instance.
How do I keep the compatibility of my current SQL Server database version in SQL Managed Instance?
Database compatibility level can be set in SQL Managed Instance, as described on the Azure SQL Blog.
Security
How does Azure SQL help in enhancing the database security posture?
The security strategy follows the layered defense-in-depth approach: Network security + Access management + Threat protection + Information Protection. You can read more about SQL Database and SQL Managed Instance security capabilities. Azure-wide, Microsoft Defender for Cloud provides a solution for Cloud Security Posture Management (CSPM) and Cloud Workload Protection (CWP).
Business continuity
How can I adapt on-premises business continuity and disaster recovery (BCDR) concepts into Azure SQL Managed Instance concepts?
Most Azure SQL BCDR concepts have an equivalent in on-premises SQL Server implementations. For example, the inherent high availability of SQL Managed Instance General Purpose tier can be seen as a cloud equivalent for SQL Server FCI (Failover Cluster Instance). Similarly, SQL Managed Instance Business Critical tier can be seen as a cloud equivalent for an Always On Availability Group with synchronous commit to a minimum number of replicas. As a Disaster Recovery concept, a failover group on SQL Managed Instance is comparable to an availability group with asynchronous commit. SQL Database and SQL Managed Instance HA are backed by Service-Level Agreements. For more information, see Overview of business continuity with Azure SQL Database.
How are backups handled in Azure SQL PaaS services?
You can check documentation for automated backups in SQL Managed Instance and SQL Database to learn about RPO, RTO, retention, scheduling, and other backup capabilities and features.
How is high availability (HA) achieved in SQL Managed Instance and SQL Database?
I want to modernize SQL Server workloads to Azure SQL. What is the next step?
A great place to start is joining the Azure Migration and Modernization Program. When you start a migration project, a good practice is to form a dedicated migration team to formulate and execute the migration plan. If your company has an assigned Microsoft or Microsoft Partner account team, they can provide guidance regarding the migration team required skill set and overall process.
How do I minimize downtime during the online migration?
The SQL Managed Instance link feature offers the best possible minimum downtime online migrations solution, meeting the needs of the most critical tier-1 applications.
How can I optimize the costs once I migrate to Azure SQL?
Cost Optimization guidelines of Microsoft Azure Well-Architected Framework (WAF) provide methodology to optimize costs for every Azure SQL service. You can also find out more about WAF cost optimization highlights for SQL Managed Instance.
In this module, you'll learn how to deploy highly available solutions by using Azure SQL. You'll also look at architectures and how they affect availability.
Administer an SQL Server database infrastructure for cloud, on-premises and hybrid relational databases using the Microsoft PaaS relational database offerings.