Azure SQL Health Checks run database-level checks for configuration, performance, access, capacity, and operational risk.
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.
No. They are findings and recommendations. Apply changes through your normal review and deployment process.
Some checks need database performance state, definition visibility, or metadata access. Missing permissions can make checks incomplete.
Indirectly, yes. They can identify workload or configuration issues before you resize. Use elastic pool and Query Store data for cost-related sizing decisions.
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.
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 |