Azure SQL Health Checks


Azure SQL Health Checks run database-level checks for configuration, performance, access, capacity, and operational risk.

Mini DBA Azure SQL health checks

Workflow

  1. Open the Azure SQL database.
  2. Select Health Check.
  3. Run or refresh checks.
  4. Review severity, finding text, and recommendations.
  5. Use Database Summary, Files, Indexes, or Query Store for follow-up.

How To Use Azure SQL Health Checks

Azure SQL health checks are most useful as a structured review before incidents and after changes. They can point to database configuration, permissions, storage, indexing, and performance risks. Treat health checks as a prioritized checklist and validate findings with supporting pages before changing production.

For service reviews, combine health check output with Query Store top queries, elastic pool usage, alert history, and service tier data. That gives stakeholders a clearer view of whether the issue is configuration, workload, or capacity.

Azure SQL Health Check FAQ

Are health check findings automatic fixes?

No. They are findings and recommendations. Apply changes through your normal review and deployment process.

Why do health checks depend on permissions?

Some checks need database performance state, definition visibility, or metadata access. Missing permissions can make checks incomplete.

Can health checks help with cost?

Indirectly, yes. They can identify workload or configuration issues before you resize. Use elastic pool and Query Store data for cost-related sizing decisions.

Next Steps After A Finding

After reviewing an Azure SQL health check finding, decide whether it is a database change, application change, Azure configuration change, or monitoring-permission issue. Validate the finding with the related workload pages before assigning work. Query-related findings should be compared with Query Store and Queries, while storage findings should be checked against Database Summary, Files, and Elastic Pools.

Health Check Reference

The following Mini DBA Azure SQL Database health check detail pages explain the purpose of each check and the actions to take when a check fails.

Health check Category Detail
Auto Create Stats Indexes Open detail
Disabled Indexes Indexes Open detail
Missing Indexes Indexes Open detail
Unused Indexes Indexes Open detail
Auto Update Stats Enabled Informational Open detail
Collation different to server Informational Open detail
Involved In Replication Informational Open detail
Is data correlation on Informational Open detail
Old Compatability Level Informational Open detail
Triggers On User Tables Informational Open detail
Untrusted Check Constraints Informational Open detail
Untrusted FK constraints Informational Open detail
High CPU DTU Performance Open detail
High Data IO DTU Performance Open detail
High Log IO DTU Performance Open detail
High Requests DTU Performance Open detail
High Sessions DTU Performance Open detail
Computed column not persisted QueryPlans Open detail
ExecSql not used QueryPlans Open detail
Forced Parameterization Enabled QueryPlans Open detail
MAXDOP used QueryPlans Open detail
Procedures 'with recompile' QueryPlans Open detail
Scalar functions QueryPlans Open detail
Wildcard used to begin search QueryPlans Open detail

Related Pages