SQL Server Error 824 — Logical consistency-based I/O error (page corruption)
SQL Server detected a logical consistency-based I/O error: incorrect checksum (expected: X; actual: Y). It occurred during a read of page (A:B) in database ID N at offset O in file 'P'.
Unlike error 823 (the OS reporting a failure), this is SQL Server's own checksum validation catching that a page's contents don't match what was written — real, confirmed data corruption on that page.
Common causes
- Underlying disk/storage hardware failure (the most common root cause)
- A torn page — power loss or improper shutdown during a write, without proper write-through/battery-backed caching
- SAN write-back caching misconfigured in a way that acknowledges writes before they're actually durable
- PAGE_VERIFY CHECKSUM not having been enabled previously, delaying detection of an older issue
How to fix it
- Run DBCC CHECKDB WITH ALL_ERRORMSGS, NO_INFOMSGS to see the full scope — how many pages/objects are affected.
- Do not jump straight to REPAIR_ALLOW_DATA_LOSS — check for a clean recent backup first; a page-level restore of just the corrupt page is often possible and avoids losing unrelated data.
- If it's isolated to a nonclustered index, dropping and rebuilding that index is usually sufficient and avoids touching base table data at all.
- Investigate the hardware in parallel — a single corruption event with unhealthy storage underneath will keep recurring.
- Confirm PAGE_VERIFY is set to CHECKSUM (not NONE or the older TORN_PAGE_DETECTION) so future corruption is caught immediately: SELECT page_verify_option_desc FROM sys.databases.
Paste your error and DBCC CHECKDB output here to help figure out the safest recovery path.
Try error explainer free →