Find Azure SQL database capacity worth reviewing
On this page
Prioritize provisioned databases or elastic pools whose relevant CPU, data I/O, log I/O, workers, sessions, and storage metrics show sustained headroom across representative business cycles. Test any proposed size against workload performance and licensing requirements.
Why this is worth a look
Azure SQL capacity has several independent resource signals. Low CPU alone does not establish that a workload has headroom, because Azure Monitor also exposes data I/O, log-write, workers, sessions, and storage metrics. DTU percentage matches the highest of CPU, data I/O, and log I/O percentages at each point. DTUs use bundled resources, while vCore lets you choose compute and storage independently and can support Azure Hybrid Benefit. Review resource pressure and the purchasing model together.
Run this check
CHECKLISTUse this read-only Azure portal procedure at database or elastic-pool scope over a time range that includes normal peaks and scheduled processing.
Prerequisites
[ ] Confirm you can open the Azure SQL resource and its Azure Monitor metrics
[ ] Choose a representative time range with business-hour, batch, and month-end peaks where applicable
Scope and configuration
[ ] Select one database or one elastic pool as the Metrics Explorer scope
[ ] Record purchasing model, service tier, compute size, and data size limit
[ ] For provisioned vCore, record the displayed license choice for later entitlement review
Metrics Explorer, record units and aggregation
[ ] Chart CPU percentage (cpu_percent), unit percent, with Average and Maximum where available
[ ] Chart Data IO percentage (physical_data_read_percent), unit percent, with Maximum where available
[ ] Chart Log IO percentage (log_write_percent), unit percent, with Maximum where available
[ ] Chart Workers percentage, unit percent, with Maximum where available
[ ] For DTU resources, chart DTU percentage (dtu_consumption_percent), unit percent, with Maximum where available
[ ] Chart Data space used percent (storage_percent), unit percent, with Maximum where available
[ ] Review Sessions count where connection capacity matters
Decision record
[ ] Record recurring peaks and scheduled processing visible in the selected range
[ ] Mark the resource for deeper review only when relevant metrics show headroom
[ ] Compare a proposed target SKU and its documented limits before any change
[ ] Confirm SQL Server license entitlement before proposing Azure Hybrid BenefitHow to confirm it
- 01
Set the correct resource scope
Review a single database at database scope or an elastic pool at pool scope. Azure Monitor supports both scopes. Record the purchasing model, service tier, compute size, and data size limit before comparing metrics.
- 02
Choose a representative time range
In Metrics Explorer, select a range that includes normal business hours and scheduled processing, such as batch or month-end activity where applicable. Inspect Average and Maximum where the metric supports them, rather than relying on one average.
- 03
Review the documented metrics
Inspect CPU percentage, Data IO percentage, Log IO percentage, Workers percentage, Data space used percent, and Sessions count where connection capacity matters. For DTU resources, also inspect DTU percentage, which matches the highest CPU, data I/O, or log I/O percentage at each point.
- 04
Compare the purchasing model
DTU sizes use bundled compute, storage, and I/O resources. Provisioned vCore lets you choose compute and storage independently, and data storage is charged according to the maximum size selected. Do not treat a DTU-to-vCore move as an exact unit conversion. Compare the target's supported limits and test the workload.
- 05
Verify licensing before comparison
Azure Hybrid Benefit for Azure SQL Database is available only with the provisioned vCore purchasing model, not DTU or serverless. Treat the displayed license choice as configuration, not proof of entitlement. Confirm eligible Software Assurance-enabled SQL Server licenses with the licensing owner before using benefit pricing.
Before making changes
Azure Monitor percentages describe consumption toward the current workload or data-size limit, not an absolute performance requirement. A selected time range can miss an event outside that range. A service-objective change can alter the compute, storage, and I/O characteristics of the resource. Business Critical pricing also reflects three additional replicas and local SSD storage, so CPU alone cannot justify a tier change.