When each database last passed DBCC CHECKDB, and any suspect (possibly corrupt) pages recorded in msdb. Part of my SQL Server health check: run Health Check 00 for a one-page summary, then the numbered scripts for the detail behind each area. Read-only, changes nothing. Tested on SQL Server 2017 and 2025.
-- 09_Integrity.sql - when each database last passed DBCC CHECKDB, and any suspect (possibly corrupt) pages. Read-only.
SET NOCOUNT ON;
SELECT name, state_desc,
CONVERT(datetime, DATABASEPROPERTYEX(name, 'LastGoodCheckDbTime')) AS last_clean_checkdb,
DATEDIFF(DAY, CONVERT(datetime, DATABASEPROPERTYEX(name, 'LastGoodCheckDbTime')), GETDATE()) AS days_ago
FROM sys.databases WHERE database_id <> 2
ORDER BY days_ago DESC;
-- 1900-01-01 = never checked. Ola's DatabaseIntegrityCheck jobs should keep this under 7 days.
SELECT DB_NAME(database_id) AS [database], file_id, page_id,
CASE event_type WHEN 1 THEN '823/824 error' WHEN 2 THEN 'bad checksum' WHEN 3 THEN 'torn page'
WHEN 4 THEN 'restored' WHEN 5 THEN 'repaired' WHEN 7 THEN 'deallocated' END AS event, error_count, last_update_date
FROM msdb.dbo.suspect_pages ORDER BY last_update_date DESC;