Skip to main content

vCore vs DTU Purchasing Models (Deep Dive)

The choice between vCore and DTU is one of the most important decisions when deploying Azure SQL Database. This page breaks down every aspect: architecture, pricing, scaling, migration, and when to use which.

The Core Difference

DTU vs vCore: The Core Difference
🍔
DTU — Meal Deal
Fixed bundle of CPU + IO + Log IO. Simple pricing, preset tiers. Cannot scale components independently.
🍽️
vCore — A La Carte
Pick exact vCores, storage, IOPS independently. Azure Hybrid Benefit, Serverless, Hyperscale support.
AspectDTUvCore
Philosophy"Meal deal" — fixed bundle"A la carte" — pick components
CPUAbstracted (part of DTU)Explicit vCore count
MemoryAbstracted~5.1 GB per vCore (Gen5)
StorageIncluded (size varies by tier)Independent — pay for what you provision
I/OAbstractedIndependent IOPS/throughput
ScalingChange DTU level (preset tiers)Change vCores + storage independently
Best forSimpler workloads, predictable usageComplex workloads, granular control, migration

DTU Model — Detailed Breakdown

Tiers

TierDTU RangeMax DB SizeMax IOPSBackup RetentionUse Case
Basic5 DTU2 GB3007 daysDev/test, tiny databases
Standard10–3000 DTU1 TB6,000 (S12)35 daysWeb apps, moderate workloads
Premium125–4000 DTU4 TB15,000 (P15)35 daysOLTP, high-transaction workloads

What IS a DTU?

A DTU is a blended measure of CPU, data I/O, and transaction log I/O under a standard OLTP benchmark. It's not purely CPU — it's a composite score.

DTU ≈ f(CPU, Data IO, Log IO)

Think of it like: A car's "horsepower" — it tells you general performance but doesn't separate engine power, torque, and fuel efficiency.

🎯 Exam Focus

When comparing DTU levels: doubling the DTUs roughly doubles performance across all dimensions. A S2 (50 DTU) is roughly 5x a Basic (5 DTU) for blended operations. But you can't get "more CPU with less IO" — they're bundled.

DTU Elastic Pools

Share DTUs across multiple databases — cost-effective when databases have complementary usage patterns.

When to use Elastic Pools:

  • Multi-tenant SaaS (database per tenant)
  • Databases with spiky, unpredictable usage patterns
  • Peak usage times don't overlap across databases
  • Rule of thumb: 1.5x eDTUs × number of databases < sum of individual database DTUs
DTU Elastic Pools
🏗️
Shared DTU Pool
Multiple databases share a pool of eDTUs. Peaks don't overlap → lower total cost.
📈
Spiky Workloads
DB1 peaks mornings, DB2 peaks evenings. Pool smooths out resource needs.
💰
Cost Savings
Rule of thumb: 1.5× eDTUs × DB count < sum of individual DTUs → pool wins.

vCore Model — Detailed Breakdown

Service Tiers

TiervCoresMax StorageKey FeatureUse Case
General Purpose2–1284 TB (16 TB preview)Remote storage, balanced price/perfMost workloads
Business Critical2–1284 TBLocal SSD, read replica, zone redundantMission-critical OLTP
Hyperscale2–128100 TBInstant scale, near-instant backupVery large databases

Compute Tiers (vCore only)

Compute OptionDetailsBillingBest For
ProvisionedFixed vCores, always onPay for provisioned vCores/hrPredictable, steady workloads
ServerlessAuto-scales vCores, auto-pausesPay for vCores used/sec + storageDev/test, intermittent workloads
🏢 Real-World DBA Note

Serverless is perfect for dev/test and intermittent workloads. It can auto-pause to $0 compute cost (you still pay for storage). Wake-up time is ~1 minute on the first connection. Configure auto-pause-delay (minimum 60 min of inactivity).

Hyperscale Architecture

Hyperscale Storage Architecture
Hyperscale Architecture
💾
Page Servers
Distributed storage layer. Each page server caches a portion of the database for fast reads.
📝
Log Service
Handles write-ahead logging. Distributes log records to page servers and compute replicas.
📸
Snapshot Backups
Near-instant backups regardless of database size. Fast restore in minutes, not hours.
🖥️
HA Replicas (up to 4)
High-availability compute replicas with local SSD cache for fast failover.
📚
Named Replicas (up to 30)
Independently scaled read-only replicas. Different compute sizes for isolated workloads.
📊
Up to 100 TB
Only tier supporting databases larger than 4 TB. Reverse migration to GP available (up to 1 TB).

Hyperscale key facts:

  • Up to 100 TB database size
  • Near-instant backups (snapshot-based)
  • Fast restore — minutes, not hours
  • Up to 4 HA replicas + up to 30 named replicas (read scale)
  • Reverse migration: Now supports moving BACK to General Purpose (up to 1 TB)
🎯 Exam Focus

Hyperscale is the only tier that supports databases larger than 4 TB. If a question mentions a 10 TB, 50 TB, or 100 TB database, the answer is Hyperscale.

Head-to-Head Comparison

FeatureDTUvCore
CPU control❌ Bundled✅ Choose exact vCores
Storage control❌ Included per tier✅ Provision independently
Serverless❌ Not available✅ Available
Hyperscale❌ Not available✅ Available
Azure Hybrid Benefit❌ Not supported✅ Save up to 55% with existing SQL licenses
Reserved capacity❌ Not supported✅ 1-year or 3-year reservations
Read replicas❌ (Premium has read scale)✅ Business Critical + Hyperscale
Zone redundancy❌ (Premium only)✅ GP + BC + HS
Max DB size4 TB (Premium)100 TB (Hyperscale)
Elastic Pools✅ eDTU✅ vCore pools
MI compatible✅ (MI uses vCore only)
Cost predictability✅ Simple pricingVariable — depends on config

When to Use Which

Use DTU When:

  • ✅ Simple, predictable workloads
  • ✅ You don't need granular resource control
  • ✅ Small to medium databases (< 1 TB)
  • ✅ You want straightforward pricing
  • ✅ Dev/test environments (Basic tier is very cheap)

Use vCore When:

  • ✅ Migrating from on-premises (easier to size — map CPU cores to vCores)
  • ✅ You have SQL Server licenses (Azure Hybrid Benefit saves up to 55%)
  • ✅ You need Serverless or Hyperscale
  • ✅ You need independent storage scaling
  • ✅ Enterprise workloads requiring Business Critical tier features
  • ✅ Databases > 4 TB
🎯 Exam Focus

DP-300 frequently tests: Azure Hybrid Benefit is only available with vCore model. If a question asks about cost savings with existing SQL Server licenses, the answer involves vCore + Azure Hybrid Benefit. Also, SQL Managed Instance only supports vCore (no DTU option).

Sizing: From DTU to vCore

Microsoft provides a mapping guide. Here's the approximate conversion:

DTU LevelApproximate vCore
Basic (5 DTU)< 1 vCore
S0 (10 DTU)~0.5 vCore
S2 (50 DTU)~1 vCore
S3 (100 DTU)~2 vCores
S4 (200 DTU)~2-4 vCores
S6 (400 DTU)~4 vCores
S9 (1600 DTU)~8 vCores
P1 (125 DTU)~2 vCores
P2 (250 DTU)~4 vCores
P4 (500 DTU)~8 vCores
P11 (1750 DTU)~16 vCores
P15 (4000 DTU)~40 vCores
-- Query to check current DTU usage (run on DTU-based database)
SELECT
end_time,
(SELECT MAX(v) FROM (VALUES
(avg_cpu_percent),
(avg_data_io_percent),
(avg_log_write_percent)
) AS value(v)) AS max_dtu_percent,
avg_cpu_percent,
avg_data_io_percent,
avg_log_write_percent,
avg_memory_usage_percent
FROM sys.dm_db_resource_stats
ORDER BY end_time DESC;
🏢 Real-World DBA Note

Use the Azure SQL Migration extension in Azure Data Studio or the DTU Calculator (https://dtucalculator.azurewebsites.net) to capture your on-prem workload and get DTU/vCore recommendations. Don't guess — measure your actual I/O, CPU, and memory patterns.

Azure Hybrid Benefit (vCore Only)

If you have SQL Server licenses with Software Assurance, you can bring them to Azure:

BenefitSavings
Azure Hybrid Benefit aloneUp to 55% off vCore compute
AHB + Reserved Capacity (3yr)Up to 80% off
🎯 Exam Focus

Remember: LicenseType = BasePrice means AHB is enabled. LicenseType = LicenseIncluded means you're paying full price. This applies to SQL DB, MI, and SQL VMs.

Scaling Behavior — Key Exam Facts

OperationDTUvCore
Scale computeChange DTU level (e.g., S2 → S4)Change vCore count
Scale storageTied to tier (can't scale independently)Scale independently — no downtime
Downtime on compute scaleBrief disconnection (~5-10s)Brief disconnection (~5-10s)
Maintenance window✅ Can schedule✅ Can schedule
⚠️ Watch Out

Scaling compute causes a brief disconnection (~5-10 seconds) at the end of the operation as connections are switched to the new compute tier. Scaling storage in General Purpose is online and has no impact. Use maintenance windows to control when scaling operations complete.


Flashcards

What does DTU stand for and what does it measure?
Click to reveal answer
Database Transaction Unit. A blended measure of CPU, data I/O, and transaction log I/O. Doubling DTUs roughly doubles all three dimensions proportionally.
1 / 10

Quiz

Q1/7
0 correct
Your company has existing SQL Server Enterprise licenses with Software Assurance. What Azure SQL purchasing model should you use to maximize cost savings?