Azure SQL Database DTU vs vCore: Which Purchasing Model Should You Choose?

When you create an Azure SQL Database, one of the first choices is the purchasing model: DTU or vCore. It decides how you size the database, which features you can use and how you can save money. Here is a practical way to choose, and how to move between them later.

Azure SQL Database DTU vs vCore purchasing models

The DTU model

A DTU (Database Transaction Unit) is a bundled measure of CPU, memory, data I/O and log I/O. You pick a tier and a size, such as Standard S3 or Premium P2, and get a fixed amount of all of them together.

  • Basic: tiny databases and development.
  • Standard: typical small to medium workloads.
  • Premium: higher I/O performance and in-memory features.

It is simple: one number to scale, one predictable price, and a set amount of storage included.

The vCore model

In the vCore model you choose the number of virtual cores (with memory tied to the hardware generation) and storage separately, in one of three service tiers:

  • General Purpose: balanced, budget-friendly; remote storage. Also offers the serverless compute option that auto-scales and can auto-pause.
  • Business Critical: local SSD storage, lower latency, built-in readable secondary replica; for demanding OLTP.
  • Hyperscale: very large databases with fast scaling and fast backups and restores.

Feature differences that matter

DTUvCore
SizingBundled unitsCores, memory and storage chosen separately
Azure Hybrid BenefitNoYes (provisioned compute)
Reserved capacity discountsNoYes
Serverless optionNoYes
HyperscaleNoYes
Best forSmall, simple, predictableGrowing, larger or cost-optimised workloads

Choose DTU when

  • The database is small and you want the simplest possible setup.
  • You have no existing SQL Server licences to bring.
  • The workload is steady and you do not need serverless or Hyperscale.

Choose vCore when

  • You own SQL Server licences with Software Assurance: Azure Hybrid Benefit can cut the cost substantially.
  • The workload runs 24x7 and you can commit to reserved capacity.
  • Usage is intermittent (dev/test, business-hours apps) and serverless fits.
  • You need to scale CPU and storage independently, or need Business Critical or Hyperscale.
  • You want sizing that maps clearly to on-premises servers (cores and memory).

Translating DTUs to vCores

Microsoft's rough rule of thumb: about 100 DTUs in Standard ≈ 1 vCore in General Purpose, and about 125 DTUs in Premium ≈ 1 vCore in Business Critical. Treat this as a starting point only; check real CPU and I/O usage after moving and adjust.

Switching models

You can change between DTU and vCore models with a scale operation in the portal, CLI or T-SQL. It is an online operation; connections drop briefly at the end, so do it in a quiet period and make sure your application retries transient errors.

ALTER DATABASE [Payroll]
MODIFY (EDITION = 'GeneralPurpose', SERVICE_OBJECTIVE = 'GP_Gen5_2');

Bottom line

Start with DTU if you want simplicity for a small database. Move to vCore as soon as licensing discounts, reservations, serverless or independent scaling would save money or solve a problem. Prices and available hardware change, so compare options for your region in the Azure Pricing Calculator before deciding.

Related reading:

Comments

Popular posts from this blog

How to Read a SQL Server Execution Plan (Beginner's Guide)

SARGable Queries in SQL Server: Why Functions in WHERE Slow You Down

Azure SQL Database vs SQL Server on Azure VM: Cost Comparison (2026)