Michael Paycer — SQL Server Health Check
SQL Server Guide

SQL Server Health Check: A Practical Guide

A SQL Server health check is the fastest way to find what is actually slowing a server down. This guide walks through the checks I run first and what each one reveals.

Every engagement starts the same way: "the server is slow." No error, no repro, no numbers — just a database that used to be fine and isn't anymore. A SQL Server health check turns that into something you can act on: a documented review of the whole instance, measured against Microsoft best practices, that ends in a prioritized list of findings and recommendations.

This is what I actually review, and roughly why. It's a discovery pass — an hour or two per server — not a remediation. The point is to find what's wrong and rank it, so the fixes that follow are the ones that matter most. Everything here uses what ships with SQL Server plus one free community script I'll credit. I'm not going to walk through every query line by line; the value is knowing what to look at and why it matters, which is exactly what a good report captures.

If you'd rather hand it off, this is precisely the scope of a fixed-scope SQL Server health check.

SQL Server health check coverage map: baseline, configuration, storage and I/O, indexing, workload, reliability and security

Server and instance baseline

Before performance, establish what you're standing on. A surprising number of "slow server" problems are really "wrong server" problems.

Instance configuration that quietly taxes everything

A handful of settings tax every query on the box until someone looks. These are cheap to check and often the fastest wins in the whole report:

None of these are exotic. They're just the settings that inherited instances almost never have set correctly.

Storage, file placement, and I/O latency

Storage is where "the server is slow" most often turns out to be true, and it's the part teams check least.

Tempdb, done right

Tempdb deserves its own look because so much passes through it — sorts, hashes, version store, temp tables. The checklist is short: multiple equally-sized data files, pre-sized so they aren't auto-growing under load, isolated from the user databases where practical, and free of the PFS/GAM/SGAM allocation contention that shows up as PAGELATCH waits. Modern installers set this up reasonably; older, upgraded instances frequently don't.

Indexing overview

Indexing is reviewed for four things, in order of real impact:

The workload: top queries, waits, and what's running

Three views of what the server is actually spending its time on:

Reliability, maintenance, and security

Finish where an outage would start:

The deliverable

A health check should end in a short, ranked document: the findings, the evidence for each, and clear recommendations — quick config wins separated from the projects (a tempdb rework, a storage fix, an HA gap). Remediation itself is a separate step, estimated from the findings, not bundled into the discovery. That keeps the assessment honest: first we agree on what's wrong, then we decide what's worth fixing.

If you want that run on your environment and written up, that's what I do. See SQL Server DBA services, review real client results, or get in touch.


References