BAD_PAGE_PROCESS is recorded by the background suspect page logger, the process that records 823 and 824 I/O errors into msdb.dbo.suspect_pages, as it throttles itself to run no more than once every five seconds. You will see at most one wait per 823/824 error.
That makes this the rare wait type whose count is the whole message: each occurrence corresponds to a corruption event.
Is It a Problem?
Any meaningful presence is a five-alarm signal, not a performance discussion. Frequent BAD_PAGE_PROCESS waits mean repeated 823/824 errors, which means either widespread corruption or a workload repeatedly hitting the same corrupt pages. Either way, you are in incident territory: data is unreadable somewhere, and the underlying cause is usually the I/O subsystem.
This is one wait where “filter it out” is exactly wrong.
Common Causes
- Storage subsystem faults corrupting pages (controller, firmware, cabling, SAN issues).
- A corrupt hot page being re-read constantly by the workload.
- Memory faults writing bad pages that later fail checksum on read.
What To Do
- Check
msdb.dbo.suspect_pagesimmediately (ourGet-SuspectPagesscript and the health check both surface this) and the error log for the 823/824 details. - Run
DBCC CHECKDBon the affected databases to scope the damage. - Repair from backups where possible: page-level restore for isolated pages, full restore for widespread damage. Do not reach for
REPAIR_ALLOW_DATA_LOSSbefore exhausting restore options. - Involve the storage team in parallel; corruption that keeps recurring will not stop until the hardware cause does.
How To See It
Rank waits with Get-WaitStatistics, but do not wait for it to rank: suspect_pages and the error log are the primary alarms, and our health check reviews both.
If BAD_PAGE_PROCESS is sitting near the top of your wait stats, these are the next places to look.
- The waits that usually matter, ranked, with what each one is telling you.
- PAGEIOLATCH_SH Wait Type, the closest wait worth investigating when this one is high.
- Performance & Troubleshooting, the scripts and guides for this part of the stack.
Leave a Reply