Skip to content
Cloud Efficiency Hub

SQL Server Instances Exceeding Edition vCPU Limits on EC2

The short version

SQL Server Standard and Web editions cap how much compute a single SQL Server instance can use.

PointFive Research

Cloud cost research at PointFive

AWS service
AWS EC2
Category
Databases
Reference
CER-0348
Type
Overprovisioned Resource

Explanation

Why the waste happens and who it affects.

Standard is limited to the lesser of 4 sockets or 24 cores, which AWS expresses as 48 vCPUs on EC2, and Web is limited to the lesser of 4 sockets or 16 cores, or 32 vCPUs. When SQL Server Standard or Web runs on an EC2 instance with more vCPUs than that, the extra vCPUs cannot be used by the database engine, but the instance and its licensing are still billed in full.

This usually happens when an instance is sized for memory or storage throughput and the chosen size happens to come with more vCPUs, when a workload is lifted from a larger on-premises server, or when an instance is scaled up during an incident and never scaled back. AWS Trusted Advisor flags these instances in its check Amazon EC2 instances over-provisioned for Microsoft SQL Server, noting that an over-provisioned instance pays full price without any performance improvement.

Billing model

The pricing dimensions that drive this cost.

Instance-hour rate
EC2 instance charges rise with instance size, so vCPUs above the edition cap are paid for but idle for SQL Server
License-included SQL Server
The SQL Server license is part of the hourly rate of the SQL Server AMI and scales with the instance size, including vCPUs the edition cannot use
Edition compute cap
Standard edition can use up to 48 vCPUs and Web edition up to 32 vCPUs per SQL Server instance on EC2

How to detect

4 checks to find it in your estate.

  • Review the Trusted Advisor cost optimization check Amazon EC2 instances over-provisioned for Microsoft SQL Server (check ID Qsdfp3A4L1), which turns red for Standard edition instances with more than 48 vCPUs and Web edition instances with more than 32 vCPUs, and reports a recommended instance type and estimated monthly savings
  • Inventory SQL Server instances by edition, version and vCPU count, including BYOL instances where edition is not visible from the AMI, and compare each against its edition's cap; confirm the cap for the SQL Server version in use in Microsoft's editions documentation, since the AWS figures are based on SQL Server 2016 SP1 and later editions tables
  • Check whether the instance was sized for memory; Standard edition's buffer pool is also capped at 128 GB, so memory above that may not be usable either
  • Confirm that no other software on the instance needs the extra vCPUs before planning a resize

How to fix

5 ways to remove the waste.

  • Change the instance to a size in the same family with 48 vCPUs for Standard edition or 32 vCPUs for Web edition, which is what Trusted Advisor uses to estimate savings
  • If the workload needs more memory relative to CPU, move to a memory-optimized family at the capped vCPU count instead of a larger general-purpose size
  • If the workload genuinely needs more than the edition's compute limit, evaluate whether the extra capacity is worth an edition upgrade rather than paying for vCPUs that the current edition cannot use
  • Stop the instance to change its type, and schedule the resize in a maintenance window; for license-included instances this keeps the same AMI and edition
  • Update provisioning templates so SQL Server Standard and Web instances are not launched above their edition limits

Documentation

Vendor references for pricing and configuration.