Share Cloud migration promises efficiency, but for Microsoft SQL Server workloads, “cheaper” infrastructure often leads to exorbitant waste. When deploying on burstable instances—such as Azure B-Series, AWS T-Series, or GCP E2—organizations frequently fall into a specific licensing trap where legacy core-based models collide with modern utility metering. This report dissects the “4-core minimum” rule, exposes the hidden “I/O tax” of burstable storage throttling, and explains why low-cost VMs may be costing you double in software fees while delivering throttled performance. We analyze the specific risks of “Steal Time” and credit exhaustion to help you avoid the economic pitfalls of running enterprise databases on fractional hardware. SQL Server Licensing: A Cross-Cloud Analysis | GigXP GigXP Tech Intelligence / Enterprise Database / Updated Oct 2025 The Economics of Waste: SQL Server on Burstable Cloud CPUs By Research Team Cloud migration changed the relationship between infrastructure provisioning and software licensing. Cloud computing promises elasticity and efficiency. You pay for what you use. Legacy software licensing frameworks, specifically those of Microsoft SQL Server, remain rooted in physical hardware paradigms. This friction is most obvious when deploying SQL Server on “burstable” compute instances: the B-series in Microsoft Azure, the T-series in Amazon Web Services (AWS), and the E2 or N1 shared-core machine types in Google Cloud Platform (GCP). Burstable instances are designed to democratize access to compute for intermittent workloads. They present a deceptive value proposition for database applications. The infrastructure cost of a 2-vCPU burstable Virtual Machine (VM) is negligible. The software licensing obligations create a high “cost floor” that distorts Total Cost of Ownership (TCO). The mandate that every Virtual Operating System Environment (OSE) must license a minimum of four cores forces organizations to pay for non-existent capacity when utilizing small instance sizes. The Core Problem For small burstable instances, the cost of the software license does not scale linearly with the infrastructure. A VM with 2 vCPUs incurs the same licensing cost as a VM with 4 vCPUs. This doubles the per-core software cost for the smaller machine. 1. The Licensing Trap Modern cloud economics rely on granular metering. A burstable instance sells CPU cycles as a utility. The user purchases a baseline fraction of a physical core and accrues credits during idle periods. This model relies on the statistical probability that not all tenants on a physical host will burst simultaneously. Microsoft SQL Server uses a core-based licensing model designed to capture value based on potential compute power. Since 2012, Microsoft has tied pricing to the number of processing cores. The “4-core minimum” rule dictates that even if a virtual machine acts on a single virtual core, the customer must purchase four core licenses. This applies to SQL Server 2022 and the 2025 updates. Figure 1: The “Value Gap” between Infrastructure Cost vs. Mandatory Licensing Cost (Est. Hourly USD). The discrepancy creates a “value trap.” The low hourly rate of the infrastructure lures users into deployments where software licensing costs exceed the infrastructure cost significantly. 2. Technical Architecture: The “Steal Time” Risk Performance on burstable instances depends on the interaction between the database engine scheduler and the hypervisor resource governance. In standard instances, the hypervisor provides a rigid mapping for vCPUs. In burstable instances, physical cores are oversubscribed. The hypervisor manages this with a credit scheduler. When a VM demand exceeds its baseline entitlement, the scheduler checks the credit balance. Positive Balance: The scheduler allows the VM to consume physical cycles up to the burst limit. Zero Balance: The scheduler throttles the VM. It caps execution time to the baseline percentage. For SQL Server, this throttling is opaque. The operating system may perceive the CPU as available. The instructions are not executed by the physical hardware. This creates “Steal Time” or “Hypervisor Wait.” The guest OS wants to run but is involuntarily paused. The Death Spiral SQL Server uses cooperative multitasking via the SQL Server Operating System (SQLOS). Threads voluntarily yield the CPU to allow other workers to run. On a throttled instance, the hypervisor unschedules the vCPU from the physical core. The SQL thread is stuck. Other threads waiting for resources locked by the frozen thread begin to spin. This burns remaining CPU capacity in a futile loop. Figure 2: Real-time simulation of the Token Bucket Algorithm. See how rapid consumption drains the bank. 3. The “I/O Tax” Hidden Costs While CPU credits garner the most attention, the storage subsystem of burstable instances presents a more immediate threat to database stability. SQL Server uses a Write-Ahead Logging (WAL) protocol. Every modification must be written to the transaction log on disk before the transaction commits. Burstable instances (like Azure B-series v1 or AWS T3) throttle storage throughput (MB/s) and IOPS based on instance size. A 2-vCPU instance often has a baseline throughput as low as 8 MB/s. If a transaction log flush hits this ceiling, the SQL engine pauses, accumulating PAGEIOLATCH waits. Operational Risk During “burst” events, users often credit the CPU for slowdowns, but 60% of burstable instance performance tickets are actually storage throttling. The CPU sits idle waiting for the disk, yet the “perceived” slowness leads admins to upgrade the instance, further increasing the licensing waste. 4. The Maintenance Window Paradox Database maintenance tasks—index rebuilds, consistency checks (DBCC CHECKDB), and statistical updates—are resource-intensive. On dedicated hardware, these run during off-hours with no penalty. On burstable instances, these tasks consume accumulated CPU credits. A nightly index rebuild at 2:00 AM can deplete the credit bank entirely. When the business day begins at 8:00 AM, the instance has 0 credits and operates at its baseline performance (often 10% to 20% of a core). The “morning spike” of user logins hits a throttled server, causing timeouts. Credit Depletion Simulation Activity Duration CPU Load Credit Impact Idle (Daytime) 1 Hour 5% +6 Credits (Net Gain) Index Rebuild 30 Mins 100% -30 Credits (Rapid Drain) Morning Login 15 Mins 80% Throttled (If bank is empty) 5. Platform Showdown & Cost Models Each major cloud provider handles this architecture differently. Use the filter below to view specifics for your platform. All Platforms Azure AWS GCP Platform Instance Family Key Mechanism Licensing Risk Azure B-Series (v1 & v2) Credit Banking. Hard throttle when credits vanish on v1. PAYG price includes 4-core minimum markup. Disk IO often bottlenecks before CPU. AWS T-Series (T3/T3a) “Unlimited” Mode enabled by default. Financial risk. You pay surplus charges if you burst too long. Can exceed dedicated instance cost. GCP E2 Shared-Core Strict time-slicing (e.g., 0.5 vCPU sustained). No Sustained Use Discounts (SUDs) on E2. Licensing cost is high relative to the fractional hardware. Azure B-Series Analysis The B-series suffers from low disk throughput limits. SQL Server transaction log writes are sensitive to this. If the log cannot flush to disk, the database stalls regardless of CPU credits. Azure Hybrid Benefit allows you to bring licenses, but you still burn 4 cores of entitlement for a 2-core VM. AWS T-Series Analysis T3 instances default to “Unlimited” mode. When credits exhaust, the instance bursts using surplus credits billed at roughly 0.05 USD per vCPU-hour. If a SQL Server enters a spinlock loop, it runs at 100 percent CPU indefinitely, quadrupling the hourly cost. GCP E2 Analysis GCP uses shared-core machine types like e2-micro and e2-small. These offer sustained performance guarantees. E2 instances do not qualify for Sustained Use Discounts, which narrows the price gap between them and standard instances. 6. Strategic Recommendations The “cheapest” option on the price list is often the least efficient. The 4-core minimum tax renders the cost savings of 2-vCPU burstable instances marginal compared to the performance risks. Use Web Edition: For public-facing workloads, SQL Server Web Edition has a much lower cost floor. This is the only economically rational way to use burstable instances for production. Switch to PaaS: Azure SQL Database Serverless or AWS Aurora Serverless abstract the core licensing. You pay for vCore-seconds. If the database pauses, billing stops. Development Only: Use the free Developer Edition for non-production environments on burstable hardware to eliminate licensing costs. Frequently Asked Questions Does the 4-core minimum apply to SQL Server Express? No. SQL Server Express is free to use on any number of cores, though it is limited by engine constraints (1GB RAM, 10GB DB size). Can I disable hyperthreading to save on licenses? Generally no. While you can disable hyperthreading on AWS (Optimize CPU), the minimum purchase requirement from Microsoft remains 4 cores per OSE. Reducing a 2-vCPU instance to 1-vCPU does not lower the bill. Is T3 Unlimited cheaper than M5? Only if your average CPU utilization stays below the baseline (20 to 40 percent). If you run consistently high, the surplus credit charges make T3 Unlimited more expensive than a fixed M5 instance. Does SQL Server on Linux (Containers) avoid the core minimum? No. Licensing for containers (Kubernetes/Docker) requires that you license the vCPUs available to the container. However, the 4-core minimum rule still applies to each container (or OSE). You cannot spin up 10 containers with 1 core each and pay for 10 cores; you must pay for 40 cores. Disclaimer: The Questions and Answers provided on https://gigxp.com are for general information purposes only. We make no representations or warranties of any kind, express or implied, about the completeness, accuracy, reliability, suitability or availability with respect to the website or the information, products, services, or related graphics contained on the website for any purpose. Share What's your reaction? Excited 0 Happy 0 In Love 0 Not Sure 0 Silly 0 IG Website Twitter
The Economics of Waste: SQL Server on Burstable Cloud CPUs By Research Team Cloud migration changed the relationship between infrastructure provisioning and software licensing. Cloud computing promises elasticity and efficiency. You pay for what you use. Legacy software licensing frameworks, specifically those of Microsoft SQL Server, remain rooted in physical hardware paradigms. This friction is most obvious when deploying SQL Server on “burstable” compute instances: the B-series in Microsoft Azure, the T-series in Amazon Web Services (AWS), and the E2 or N1 shared-core machine types in Google Cloud Platform (GCP). Burstable instances are designed to democratize access to compute for intermittent workloads. They present a deceptive value proposition for database applications. The infrastructure cost of a 2-vCPU burstable Virtual Machine (VM) is negligible. The software licensing obligations create a high “cost floor” that distorts Total Cost of Ownership (TCO). The mandate that every Virtual Operating System Environment (OSE) must license a minimum of four cores forces organizations to pay for non-existent capacity when utilizing small instance sizes. The Core Problem For small burstable instances, the cost of the software license does not scale linearly with the infrastructure. A VM with 2 vCPUs incurs the same licensing cost as a VM with 4 vCPUs. This doubles the per-core software cost for the smaller machine. 1. The Licensing Trap Modern cloud economics rely on granular metering. A burstable instance sells CPU cycles as a utility. The user purchases a baseline fraction of a physical core and accrues credits during idle periods. This model relies on the statistical probability that not all tenants on a physical host will burst simultaneously. Microsoft SQL Server uses a core-based licensing model designed to capture value based on potential compute power. Since 2012, Microsoft has tied pricing to the number of processing cores. The “4-core minimum” rule dictates that even if a virtual machine acts on a single virtual core, the customer must purchase four core licenses. This applies to SQL Server 2022 and the 2025 updates. Figure 1: The “Value Gap” between Infrastructure Cost vs. Mandatory Licensing Cost (Est. Hourly USD). The discrepancy creates a “value trap.” The low hourly rate of the infrastructure lures users into deployments where software licensing costs exceed the infrastructure cost significantly. 2. Technical Architecture: The “Steal Time” Risk Performance on burstable instances depends on the interaction between the database engine scheduler and the hypervisor resource governance. In standard instances, the hypervisor provides a rigid mapping for vCPUs. In burstable instances, physical cores are oversubscribed. The hypervisor manages this with a credit scheduler. When a VM demand exceeds its baseline entitlement, the scheduler checks the credit balance. Positive Balance: The scheduler allows the VM to consume physical cycles up to the burst limit. Zero Balance: The scheduler throttles the VM. It caps execution time to the baseline percentage. For SQL Server, this throttling is opaque. The operating system may perceive the CPU as available. The instructions are not executed by the physical hardware. This creates “Steal Time” or “Hypervisor Wait.” The guest OS wants to run but is involuntarily paused. The Death Spiral SQL Server uses cooperative multitasking via the SQL Server Operating System (SQLOS). Threads voluntarily yield the CPU to allow other workers to run. On a throttled instance, the hypervisor unschedules the vCPU from the physical core. The SQL thread is stuck. Other threads waiting for resources locked by the frozen thread begin to spin. This burns remaining CPU capacity in a futile loop. Figure 2: Real-time simulation of the Token Bucket Algorithm. See how rapid consumption drains the bank. 3. The “I/O Tax” Hidden Costs While CPU credits garner the most attention, the storage subsystem of burstable instances presents a more immediate threat to database stability. SQL Server uses a Write-Ahead Logging (WAL) protocol. Every modification must be written to the transaction log on disk before the transaction commits. Burstable instances (like Azure B-series v1 or AWS T3) throttle storage throughput (MB/s) and IOPS based on instance size. A 2-vCPU instance often has a baseline throughput as low as 8 MB/s. If a transaction log flush hits this ceiling, the SQL engine pauses, accumulating PAGEIOLATCH waits. Operational Risk During “burst” events, users often credit the CPU for slowdowns, but 60% of burstable instance performance tickets are actually storage throttling. The CPU sits idle waiting for the disk, yet the “perceived” slowness leads admins to upgrade the instance, further increasing the licensing waste. 4. The Maintenance Window Paradox Database maintenance tasks—index rebuilds, consistency checks (DBCC CHECKDB), and statistical updates—are resource-intensive. On dedicated hardware, these run during off-hours with no penalty. On burstable instances, these tasks consume accumulated CPU credits. A nightly index rebuild at 2:00 AM can deplete the credit bank entirely. When the business day begins at 8:00 AM, the instance has 0 credits and operates at its baseline performance (often 10% to 20% of a core). The “morning spike” of user logins hits a throttled server, causing timeouts. Credit Depletion Simulation Activity Duration CPU Load Credit Impact Idle (Daytime) 1 Hour 5% +6 Credits (Net Gain) Index Rebuild 30 Mins 100% -30 Credits (Rapid Drain) Morning Login 15 Mins 80% Throttled (If bank is empty) 5. Platform Showdown & Cost Models Each major cloud provider handles this architecture differently. Use the filter below to view specifics for your platform. All Platforms Azure AWS GCP Platform Instance Family Key Mechanism Licensing Risk Azure B-Series (v1 & v2) Credit Banking. Hard throttle when credits vanish on v1. PAYG price includes 4-core minimum markup. Disk IO often bottlenecks before CPU. AWS T-Series (T3/T3a) “Unlimited” Mode enabled by default. Financial risk. You pay surplus charges if you burst too long. Can exceed dedicated instance cost. GCP E2 Shared-Core Strict time-slicing (e.g., 0.5 vCPU sustained). No Sustained Use Discounts (SUDs) on E2. Licensing cost is high relative to the fractional hardware. Azure B-Series Analysis The B-series suffers from low disk throughput limits. SQL Server transaction log writes are sensitive to this. If the log cannot flush to disk, the database stalls regardless of CPU credits. Azure Hybrid Benefit allows you to bring licenses, but you still burn 4 cores of entitlement for a 2-core VM. AWS T-Series Analysis T3 instances default to “Unlimited” mode. When credits exhaust, the instance bursts using surplus credits billed at roughly 0.05 USD per vCPU-hour. If a SQL Server enters a spinlock loop, it runs at 100 percent CPU indefinitely, quadrupling the hourly cost. GCP E2 Analysis GCP uses shared-core machine types like e2-micro and e2-small. These offer sustained performance guarantees. E2 instances do not qualify for Sustained Use Discounts, which narrows the price gap between them and standard instances. 6. Strategic Recommendations The “cheapest” option on the price list is often the least efficient. The 4-core minimum tax renders the cost savings of 2-vCPU burstable instances marginal compared to the performance risks. Use Web Edition: For public-facing workloads, SQL Server Web Edition has a much lower cost floor. This is the only economically rational way to use burstable instances for production. Switch to PaaS: Azure SQL Database Serverless or AWS Aurora Serverless abstract the core licensing. You pay for vCore-seconds. If the database pauses, billing stops. Development Only: Use the free Developer Edition for non-production environments on burstable hardware to eliminate licensing costs. Frequently Asked Questions Does the 4-core minimum apply to SQL Server Express? No. SQL Server Express is free to use on any number of cores, though it is limited by engine constraints (1GB RAM, 10GB DB size). Can I disable hyperthreading to save on licenses? Generally no. While you can disable hyperthreading on AWS (Optimize CPU), the minimum purchase requirement from Microsoft remains 4 cores per OSE. Reducing a 2-vCPU instance to 1-vCPU does not lower the bill. Is T3 Unlimited cheaper than M5? Only if your average CPU utilization stays below the baseline (20 to 40 percent). If you run consistently high, the surplus credit charges make T3 Unlimited more expensive than a fixed M5 instance. Does SQL Server on Linux (Containers) avoid the core minimum? No. Licensing for containers (Kubernetes/Docker) requires that you license the vCPUs available to the container. However, the 4-core minimum rule still applies to each container (or OSE). You cannot spin up 10 containers with 1 core each and pay for 10 cores; you must pay for 40 cores.
SQL Server Burst Capacity vs Autoscale: Estimator Tool for Azure Cosmos DB You’ve built a slick application on Azure Cosmos DB. It’s fast, it’s scalable, and everything ...
SQL Server SQL Server 2025 Migration Guide: EoL Changes & Deprecations The release of SQL Server 2025 represents a major strategic shift for the platform. While ...
SQL Server SQL Server HA vs. DR – Which One to Choose – Checklist & Guide Ensuring your SQL Server data is always available is critical, but navigating the complex world ...
SQL Server What is the SQL Server SA (Sys Admin) Password Policy & Default Password If you are searching for the SQL Server SA (Sys Admin) Password and Policy enforcement, ...
TSQL How to Effectively split a string using STRING_SPLIT function in SQL server Even though it’s flashy and glamorous being a Data Engineer these days, it comes with ...
SQL Server How to do SQL Server Hybrid Backup to URL on Azure Storage in 2019 The SQL Server hybrid backup to URL feature offers flexibility to customers. It provides an ...
Azure Azure SQL Connection Pooling Best Practices Pool Size & Exhaustion In this blog post, we will be sharing the Azure SQL Connection Pooling best practices. ...
SQL Server SQL Server 2019 System Requirements – Hardware & Software Prereqs In this article, we will be sharing the SQL Server 2019 System Requirements based on ...
Interview Questions T-SQL Performance Tuning on Bulk Load Data in SQL Server 2017 In this article, we are going to talk about a specific scenario where T-SQL Performance ...
SQL Server How To Check & Fix Index Fragmentation on SQL Server via Script & ssms Before we learn to fix Index fragmentation on SQL Server, let us understand why this ...
SQL Server Fixing SQL Server Max Worker Threads: error: 35217, severity: 16, state: 1 If you try fixing SQL Server Max Worker Threads for errors such as: “The thread pool ...
SQL Server How To Do GPU Offloading in SQL Server 2017 For Parallelism The idea of having GPU Offloading in SQL Server 2017 is quite attractive. It might ...