Run DBCC CHECKDB WITH PHYSICAL_ONLY automatically in the background
When RAID controllers are idle, they automatically check the storage to make sure it's still okay. Why not SQL Server too?
Some of the pieces are there – for example, SQL Server already has the ability to watch for idle CPU times and run Agent jobs when it’s bored. For starters, that’d probably be good enough to save a lot of small businesses from heartache. For the databases over, say, 100GB, it’d be really awesome to have resumable physical_only corruption checking – tracking which pages have been checked (just like how the differential bitmap tracks page changes), with page activity reset when the page is changed (again, just like the differential bitmap.) This wouldn’t count the same as a real CHECKDB, which needs to do things like compare index contents – but it'd be a big improvement over what we have now in environments where folks just aren't aware that the onus for data integrity is on them, not SQL Server.
This aligns with our vision for improved manageability, particularly for VLDBs. Will consider for future development.
Markus Weiss-Ehlers (mweisseh) commented
Derek Paul commented
I would've thought it's been doing this for years...
As it's not, this would be a great improvement!
Great idea. Resumable corruption checks certainly gets my vote.
Hugh Sagar commented
You mean it doesn't do it already?
Dale Hirt commented
This would be a perfect addition.
David Tawater commented
This would improve my service capability of the sql servers in queue. Is this not something that is in the pipeline?