Change limit/behaviour of msdb.dbo.suspect_pages table
msdb.dbo.suspect_pages table has a 1000 row limit, once the table gets to 1000 rows it stops collecting new errors. This means that on servers where the suspect_pages tables has filled up you are unable to see if new errors are still being discovered.
My suggestion would be to remove, or at least greatly increase the hard limit of 1000 rows in the suspect_pages table.
Books online Documentation - Manage the suspect_pages Table
"The suspect_pages table contains one row per page that failed with an 824 error, up to a limit of 1,000 rows."
"Database administrators are responsible for managing the table, primarily by deleting old rows. The suspect_pages table is limited in size, and if it fills, new errors are not logged."
Robin Wilson commented
Or it could at least store the most recent records and loose the oldest in order to maintain 1,000 newest records rather than 1,000 oldest records. But ideally it just wouldn't be limited in this way in the first place.
Hard to believe this is even a limit. 1000 rows means pretty much no data.
John Martin commented
I agree, I would suggest at the very least this should be a configurable option given the size of many databases now.
This should behave like a ring buffer with configurable size.
James Parker commented
I have a server that has almost 500 databases. So according to this math that would be able to track 2 pages per 500 databases that are 70 to 700 GB?! This needs a hotfix! Please add at least three zeros to this limit.
With the ever increasing data requirements, only 1000 records is ludicrous.