Optimising Azure SQL spending doesn’t need massive changes. Often it’s about picking the right options and reviewing them periodically.
Right-size your databases
Many databases are over-provisioned. It’s natural to err on the side of caution, but that caution costs money. Use Azure Monitor to track actual DTU or vCore utilisation over time. If you’re consistently running below 40% utilisation, you’re probably paying for capacity you don’t need.
The Azure Portal shows DTU percentage and vCore metrics directly on the database overview. Make a habit of checking these quarterly and downsizing where it’s appropriate.
Use reserved capacity for predictable workloads
If you know a database will run for at least a year, reserved capacity can give you some big savings. One-year reservations usually reduce vCore costs by around 20%, while three-year terms can cut costs by over 30%.
Reserved capacity applies to vCore-based pricing only and combines with Azure Hybrid Benefit for maximum savings.
Make use of Azure Hybrid Benefit
If your organisation has SQL Server licences with active Software Assurance, Azure Hybrid Benefit lets you apply them to Azure SQL resources. This can reduce costs by up to 55% on vCore-based databases and managed instances.
The savings are substantial: a Business Critical database that costs £1,000/month at standard rates might drop to £450/month with Hybrid Benefit applied. If you’re not using this and you have qualifying licences, you’re leaving money on the table.
Consider serverless for variable workloads
Serverless databases automatically pause when inactive and scale compute based on demand. For databases that see sporadic use, the savings can be dramatic. A dev/test database that’s only active 4 hours a day could cost 80% less than an equivalent provisioned database.
The catch is there’s a brief warm-up delay when resuming from pause (typically a few seconds), so serverless isn’t ideal for production workloads that need instant response times.
Consolidate with elastic pools
If you’re running more than a handful of databases, audit whether elastic pools could reduce costs. The maths works whenever the sum of individual database peaks exceeds the average combined load by a significant margin.
Look at multi-tenant applications, development environments, and departmental databases that were deployed individually but could share resources.
Review backup retention and redundancy
Default backup settings prioritise safety over cost. If you’re using RA-GRS backup storage but your disaster recovery strategy doesn’t require geo-redundancy, switching to LRS can cut backup costs by half.
Similarly, review your long-term retention policies. Keeping 7 years of backups “just in case” costs money. So make sure retention periods match actual compliance requirements rather than defaulting to the maximum.
Monitor and alert on costs
Setting up cost alerts in Azure Cost Management catches problems before they become expensive. If you configure alerts at 50%, 75%, and 90% of expected monthly spend, you’ll know immediately if something’s running away from you.
Use resource tagging to track database costs by project, team, or environment. This visibility makes it easier to identify which workloads are driving costs and where your optimisation efforts will have the most impact.
Automate non-production shutdowns
Development and test databases don’t need to run 24/7. Azure Automation can schedule shutdowns outside working hours, potentially cutting costs for those resources by 60% or more. This applies particularly to SQL Server on VMs, where you’re paying for compute whether the database is being used or not.