How might a corrupt partition in TempDB result in DBCC CHECKDB reporting no issue?

Running CHECKDB against tempdb is not the same as running it against a user database.

From MSDN:

Running DBCC CHECKDB against tempdb does not perform any allocation or catalog checks and must acquire shared table locks to perform table checks. This is because, for performance reasons, database snapshots are not available on tempdb. This means that the required transactional consistency cannot be obtained.


Yes, but specifically, an catalog error can't be checked in TempDB. You should recycle SQL Server if possible to fix this. Per MSDN:

"Running DBCC CHECKCATALOG against tempdb does not perform any checks. This is because, for performance reasons, database snapshots are not available on tempdb. This means that the required transactional consistency cannot be obtained. Recycle the server to resolve any tempdb metadata issues."

MSDB article is here: http://msdn.microsoft.com/en-us/library/ms186720.aspx


This is a known issue with a fix:

FIX: "No catalog entry found for partition ID in database " error when you use SQL Server 2012

Assume that you query the tempdb.sys.allocation_units table in Microsoft SQL Server 2012. When you use NOLOCK hint in the query or the query is under the READ UNCOMMITED transaction isolation level, you receive the following intermittent 608 error message:

Error: 608 Severity: 16 State: 1
No catalog entry found for partition in database . The metadata is inconsistent. Run DBCC CHECKDB to check for a metadata corruption

Note The DBCC CHECKDB command does not show any sign of database corruption.

Fixed in:

  • Cumulative Update 4 for SQL Server 2012 SP2

  • Cumulative Update 13 for SQL Server 2012 SP1

Your version (11.0.3000.0) is SQL Server 2012 SP1 RTM