SQL Server Database Health Checks run checks against a selected database and show database-specific findings and recommendations.
Database Health Checks focus on risks and opportunities inside one SQL Server database. Use them when a single database has recurring alerts, unusual performance, storage growth, or configuration concerns. They are also useful before and after application releases because they create a repeatable review list.
Start with findings that affect availability, data safety, storage capacity, or user-visible performance. Then group lower-severity findings by owner: DBA work, developer work, storage work, or application configuration. Validate query and index recommendations with SQL Server Indexes, Database Query Store, and SQL Server Queries.
After remediation, re-run checks and keep the result for operational review. This makes health checks useful for managed service reporting, customer reviews, and internal improvement tracking.
Database checks focus on one database. Server checks review instance-level risks such as configuration, jobs, memory, waits, and broader operational concerns.
No. Prioritize by severity, business impact, risk, and the effort required to change safely.
No. They provide evidence and recommendations, but production changes still need review, testing, and approval.
The following Mini DBA SQL Server database health check detail pages explain the purpose of each check and the actions to take when a check fails.
| Health check | Category | Detail |
|---|---|---|
| Full Backups Within Last Month | Backup | Open detail |
| Optimal page verification | Corruption | Open detail |
| File % Growth | FileConfiguration | Open detail |
| Files On C Drive | FileConfiguration | Open detail |
| Log Larger Than Data File | FileConfiguration | Open detail |
| Multiple Log Files On A Drive | FileConfiguration | Open detail |
| Slow reads | FileConfiguration | Open detail |
| Slow writes | FileConfiguration | Open detail |
| Uneven file growth | FileConfiguration | Open detail |
| Auto Create Stats | Indexes | Open detail |
| Auto Update Stats Enabled | Indexes | Open detail |
| Disabled Indexes | Indexes | Open detail |
| Missing Indexes | Indexes | Open detail |
| No Clustered Index On Table | Indexes | Open detail |
| Non Aligned Indexes | Indexes | Open detail |
| Unpartitioned Large Tables | Indexes | Open detail |
| Unused Indexes | Indexes | Open detail |
| Auto Shrink Disabled | Informational | Open detail |
| Collation different to server | Informational | Open detail |
| Involved In Replication | Informational | Open detail |
| Is Auto Close Disabled | Informational | Open detail |
| Is data correlation on | Informational | Open detail |
| Old Compatability Level | Informational | Open detail |
| Snap shot source | Informational | Open detail |
| Triggers On User Tables | Informational | Open detail |
| Untrusted Check Constraints | Informational | Open detail |
| Untrusted FK constraints | Informational | 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 |