Azure SQL Database and Azure SQL Managed Instance service tiers

APPLIES TO: Azure SQL Database Azure SQL Managed Instance

Two vCore service tiers are available in both Azure SQL Database and Azure SQL Managed Instance:

  • General purpose is a budget-friendly tier designed for most workloads with common performance and availability requirements.
  • Business critical tier is designed for performance-sensitive workloads with strict availability requirements.

Azure SQL Database also provides the Hyperscale service tier:

  • Hyperscale is designed for most business workloads, providing highly scalable storage, read scale-out, fast scaling, and fast database restore capabilities.

Service tier comparison

The following table describes the key differences between service tiers.

- Resource type General Purpose Hyperscale Business Critical
Best for Offers budget oriented balanced compute and storage options. Most business workloads. Auto-scaling storage size up to 100 TB, fluid vertical and horizontal compute scaling, fast database restore. OLTP applications with high transaction rate and low IO latency. Offers highest resilience to failures and fast failovers using multiple synchronously updated replicas.
Available in resource type: SQL Database / SQL Managed Instance Single Azure SQL Database SQL Database / SQL Managed Instance
Compute size SQL Database 1 to 80 vCores 1 to 80 vCores 1 to 128 vCores
SQL Managed Instance 4, 8, 16, 24, 32, 40, 64, 80 vCores N/A 4, 8, 16, 24, 32, 40, 64, 80 vCores
SQL Managed Instance pools 2, 4, 8, 16, 24, 32, 40, 64, 80 vCores N/A N/A
Storage type All Remote storage Tiered remote and local SSD storage Local SSD storage
Database size SQL Database 1 GB – 4 TB 40 GB - 100 TB 1 GB – 4 TB
SQL Managed Instance 32 GB – 8 TB N/A 32 GB – 4 TB
Storage size SQL Database 1 GB – 4 TB 40 GB - 100 TB 1 GB – 4 TB
SQL Managed Instance 32 GB – 8 TB N/A 32 GB – 4 TB
TempDB size SQL Database 32 GB per vCore 32 GB per vCore 32 GB per vCore
SQL Managed Instance 24 GB per vCore N/A Up to 4 TB - limited by storage size
Log write throughput SQL Database Single databases: 4.5 MB/s per vCore (max 50 MB/s)
Elastic pools: 6 MB/s per vCore (max 62.5 MB/s)
100 MB/s Single databases: 12 MB/s per vCore (max 96 MB/s)
Elastic pools: 15 MB/s per vCore (max 120 MB/s)
SQL Managed Instance 3 MB/s per vCore (max 22 MB/s) N/A 4 MB/s per vcore (max 48 MB/s)
Availability All 99.99% 99.95% with one secondary replica, 99.99% with more replicas 99.99%
99.995% with zone redundant single database
Backups All RA-GRS, 1-35 days (7 days by default) RA-GRS, 7 days, fast point-in-time recovery (PITR) RA-GRS, 1-35 days (7 days by default)
In-memory OLTP N/A Partial support. Memory-optimized table types, table variables, and natively compiled modules are supported. Available
Read-only replicas 0 built-in
0 - 4 using geo-replication
0 - 4 built-in 1 built-in, included in price
0 - 4 using geo-replication
Pricing/billing SQL Database vCore, reserved storage, and backup storage are charged.
IOPS is not charged.
vCore for each replica and used storage are charged.
IOPS not yet charged.
vCore, reserved storage, and backup storage are charged.
IOPS is not charged.
SQL Managed Instance vCore, reserved storage, and backup storage is charged.
IOPS is not charged
N/A vCore, reserved storage, and backup storage is charged.
IOPS is not charged.
Discount models Reserved instances
Azure Hybrid Benefit (not available on dev/test subscriptions)
Enterprise and Pay-As-You-Go Dev/Test subscriptions
Azure Hybrid Benefit (not available on dev/test subscriptions)
Enterprise and Pay-As-You-Go Dev/Test subscriptions
Reserved instances
Azure Hybrid Benefit (not available on dev/test subscriptions)
Enterprise and Pay-As-You-Go Dev/Test subscriptions

For more information, see the detailed differences between the service tiers in Azure SQL Database (vCore), single Azure SQL Database (DTU), pooled Azure SQL Database (DTU), and Azure SQL Managed Instance pages.

Note

For information about the Hyperscale service tier, see Hyperscale service tier. For a comparison of the vCore-based purchasing model with the DTU-based purchasing model, see purchasing models and resources.

Data and log storage

The following factors affect the amount of storage used for data and log files, and apply to General Purpose and Business Critical tiers. For details on data and log storage in Hyperscale, see Hyperscale service tier.

  • Each compute size supports a maximum data size, with a default of 32 GB.
  • When you configure maximum data size, an additional 30 percent of storage is automatically added for log files.
  • You can select any maximum data size between 1 GB and the supported storage size maximum, in 1 GB increments.
  • In the General Purpose service tier, tempdb uses local SSD storage, and this storage cost is included in the vCore price.
  • In the Business Critical service tier, tempdb shares local SSD storage with data and log files, and tempdb storage cost is included in the vCore price.
  • The maximum storage size for a SQL Managed Instance must be specified in multiples of 32 GB.

Important

In the General Purpose and Business Critical tiers, you are charged for the maximum storage size configured for a database, elastic pool, or managed instance. In the Hyperscale tier, you are charged for the allocated data storage.

To monitor the current allocated and used data storage size in SQL Database, use allocated_data_storage and storage Azure Monitor metrics respectively. To monitor total consumed instance storage size for SQL Managed Instance, use the storage_space_used_mb metric. To monitor the current allocated and used storage size of individual data and log files in a database using T-SQL, use the sys.database_files view and the FILEPROPERTY(... , 'SpaceUsed') function.

Tip

Under some circumstances, you may need to shrink a database to reclaim unused space. For more information, see Manage file space in Azure SQL Database.

Backups and storage

Storage for database backups is allocated to support the point-in-time restore (PITR) and long-term retention (LTR) capabilities of SQL Database and SQL Managed Instance. This storage is separate from data and log file storage, and is billed separately.

  • PITR: In General Purpose and Business Critical tiers, individual database backups are copied to read-access geo-redundant (RA-GRS) storage automatically. The storage size increases dynamically as new backups are created. The storage is used by full, differential, and transaction log backups. The storage consumption depends on the rate of change of the database and the retention period configured for backups. You can configure a separate retention period for each database between 1 and 35 days for SQL Database, and 0 to 35 days for SQL Managed Instance. A backup storage amount equal to the configured maximum data size is provided at no extra charge.
  • LTR: You also have the option to configure long-term retention of full backups for up to 10 years. If you set up an LTR policy, these backups are stored in RA-GRS storage automatically, but you can control how often the backups are copied. To meet different compliance requirements, you can select different retention periods for weekly, monthly, and/or yearly backups. The configuration you choose determines how much storage will be used for LTR backups. For more information, see Long-term backup retention.

Next steps

For details about the specific compute and storage sizes available in vCore service tiers, see: