Azure SQL Database Pricing

What Is Azure SQL Database? 

Azure SQL Database is a relational database service in the Microsoft Azure Cloud based on Microsoft SQL Server. It offers a scalable, fully managed platform for applications requiring a relational database backend. The solution takes care of all infrastructure, update, and backup tasks related to the database.

Azure SQL Database supports the same T-SQL based structures as Microsoft SQL Server, meaning that you can easily migrate your existing SQL Server databases to Azure. It also offers features like automatic tuning, threat detection, and vulnerability assessments, which can help improve the performance and security of your applications.

A key benefit of Azure SQL Database is its scalability. You can scale the compute and storage resources allocated to your database up and down based on your workload requirements, to optimize resource usage and costs.

This is part of a series of articles about Azure pricing

In this article:

Azure SQL Database Deployment Models and Impact on Pricing 

Azure SQL Database has three main deployment models, each with its own advantages and pricing implications.

Single Database

The single database deployment model is ideal for applications that need a single, isolated database. In this model, each database is billed separately based on its compute and storage resources. This model offers a high degree of flexibility, as you can scale each database independently based on its specific workload requirements.

However, the single database model can be more expensive if you have many databases with unpredictable and varying workloads. In such cases, you may need to allocate more resources to each database to handle peak loads, which can increase your costs.

Elastic Pool

The elastic pool deployment model is designed for applications with multiple databases that have varying and unpredictable workloads. In this model, multiple databases share a pool of resources, which can be dynamically allocated based on workload demands. This model can help you save costs by allowing you to purchase fewer resources and share them among several databases.

However, the elastic pool model requires careful management to ensure that all databases get the resources they need. If one database consumes too many resources, it can affect the performance of other databases in the pool.

Managed Instance

The managed instance deployment model is a fully managed version of SQL Server. It is designed for businesses that need to migrate their on-premises SQL Server workloads to the cloud without any changes. In this model, you pay for the compute and storage resources allocated to the entire instance, not individual databases.

Managed instances offer the most features and capabilities, including full compatibility with SQL Server, automated backups, high availability, and advanced security features. However, they are also the most expensive deployment option.

Azure SQL Database: Pricing by Compute Tiers 

Azure SQL Database offers different compute tiers, each with its own pricing model. These include the vCore-based model, the DTU-based model, serverless, and provisioned.

vCore-based Model (Provisioned and Serverless)

In the vCore-based model, you pay for the compute resources (virtual cores or vCores) you use, with a fixed amount of RAM attached to each vCore. There are two variants of this model: provisioned and serverless.

vCore Pricing with Provisioned Compute

In the provisioned compute variant, you decide how many vCores your database needs, and there is a volume discount for larger quantities. Let’s assume you need 4 vCores for your SQL database. In the East US region, the cost for 4 vCores in the General Purpose tier is $1.009 / hour, including 20.4 GB of RAM. This cost does not include storage, which is billed separately. If you need 8 vCores, you’ll pay $1.592 / hour (a substantially lower price per vCore).

The table below shows pricing for the Standard-Series (Gen5) instances with 2-16 vCores across pay-as-you-go and reserved pricing options.

Source: Azure

vCore Pricing with Serverless Compute

The Serverless compute tier is suitable for workloads with intermittent usage patterns or those that are only active during certain periods of the day. With this model, you only pay for the compute resources you use during the active period and a smaller cost for the storage during the inactive period.

In the serverless model, there is a flat price of $0.5218 / vCore-hour (billed by the second), with a minimum of 0.5 vCores and 2.02 GB of RAM. As your database scales up, you are billed the same rate per vCore hour and the amount of memory grows in the same ratio.

Here too, storage is not included and priced separately.

Learn more in our detailed guide to Azure storage pricing

DTU-based Model (Database Transaction Unit)

The DTU-based model offers a bundled measure of compute, storage, and I/O resources. The resources are measured in Database Transaction Units (DTUs), and the cost is based on the number of DTUs you need. DTUs are offered in three tiers, Basic, Standard, and Premium, each with its own level of included storage.

For instance, if you choose the Standard tier and need 100 DTUs for your SQL database, the cost in the East US region would be $0.2017 per hour, including 250 GB of storage.

The following table shows all the pricing options for the Standard (middle tier).

Source: Azure

Note that the Basic tier has a flat price of $0.0068 / hour for 5 DTUs, with 2 GB included storage. The Premium tier starts from 125 DTUs with 500 GB included storage, at a cost of $0.6251 / hour.

Azure SQL Database: Pricing by Service Tiers

In each of the pricing models (vCore and DTU) you have a choice of service tiers that affect the cost and determine the computing resources available to your database.

vCore Model: General Purpose, Business Critical, Hyperscale

When you run Azure SQL Database in the vCore model, you select a service tier for the vCores, which determines how powerful they are. The following tiers are available, each with its own hardware types and pricing:

  • General Purpose: For non-critical workloads. Hardware options are Standard-Series (Gen 5), DC-Series, and Fsv2-Series.
  • Business Critical: For IO-intensive workloads requiring high resilience to failure. Hardware options are Standard-Series (Gen 5), DC-Series, and M-Series.
  • Hyperscale: Provides rapid scaling of storage up to 100 TB. Hardware options are Standard-Series (Gen 5), DC-Series, Premium-Series, and Premium-Series Memory-Optimized.

To give you an idea of pricing differences between the tiers, the hourly cost of 10 vCores will be: 

  • $2.522 for General Purpose / Standard-Series with 51 GB RAM
  • $6.795 for Business Critical / Standard-Series with 51 GB RAM
  • $20.538 for Business Critical / M-Series with 294.3 GB RAM
  • $2.827 for Hyperscale / Standard-Series with 51 GB RAM
  • $3.557 for Hyperscale / Premium-Series Memory-Optimized with 103.8 GB RAM

DTU Model: Basic, Standard, Premium

In the DTU model, moving to a higher tier provides improved performance and more storage. For example, the hourly cost of 10 DTUs will be:

  • $0.0136 for Basic Tier with 4 GB RAM
  • $0.0202 for Standard Tier with 250 GB RAM

The Premium Tier starts from 125 DTUs which cost $0.6251 per hour with 500 GB RAM.

Azure SQL Database Optimization with Spot by NetApp

Taking steps to reduce and control cloud infrastructure costs requires ongoing effort and diligence that could all too easily consume significant amounts of time for already overstretched CloudOps teams.

To help address that challenge, Spot has created a suite of products for Azure built on unique machine learning and analytics, that go beyond cloud visibility and guidance to actually automate Azure workloads on an optimal blend of spot VMs, reserved instances and, if needed, pay-as-you-go pricing. All of this is provided without compromising availability, performance and flexibility, ensuring optimized infrastructure for scale-out applications, Kubernetes workloads and more.

Learn more about automated Azure cost optimization with Spot.io