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?


2 Answers 2


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.

  • Thank you for the information!
    – td48260
    Commented May 23, 2022 at 12:34

Looks like this is a bug and has been fixed in 2017 CU30 and 2019 CU17.

Error 2706 occurs when you run DBCC CHECKDB WITH EXTENDED_LOGICAL_CHECKS against a database by using the Table-Valued Function (TVF) that uses indexes. Here is the error message:

Table '%.*ls' does not exist.

As this is 2016 I don't think there will be any fix for it as only security updates will be issued.

  • Thanks for the update
    – td48260
    Commented Nov 28, 2022 at 16:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.