All we need is an easy explanation of the problem, so here it is.
A CHECKDB job has recently started returning error number 2706 for 2 databases (msdb and a user database).
The msdb.dbo.suspect_pages table is empty though. When I run CHECKDB manually it says:
CHECKDB found 0 allocation errors and 0 consistency errors in database ‘msdb’.
I’m not sure if it’s related, but just before the error started appearing we upgraded SQL Server 2016 from CU17 to SP3.
Where can I find information on what error number 2706 means?
How to solve :
I know you bored from this bug, So we are here to help you! Take a deep breath and look at the explanation of your problem. We have many solutions to this problem, But we recommend you to use the first method because it is tested & true method that will 100% work for you.
You can get more information here: https://www.sqlservercentral.com/forums/topic/sql2017-cu21-checkdb-with-extended_logical_checks where user Albert Hamidullin reports:
I caught the error, it appears twice with this message "Table ‘fn_available_backups’ does not exist."
Two objects – two messages
It turns out that dbcc does not always correctly understand whether an object is a table or not.
I caught the same errors on other databases, where table types were the culprit
There are two table-valued functions in msdb named fn_available_backups, one in the managed_backup schema, and one in the smart_admin schema.
The error is thrown when
EXTENDED_LOGICAL_CHECKS attempts to check for corruption in statistics associated with indexes on the return table variables.
Note: Use and implement method 1 because this method fully tested our system.
Thank you 🙂