While running DBCC CHECKDB I got this error
Msg 8921, Level 16, State 1, Line 1 Check terminated. A failure was detected while collecting facts. Possibly tempdb out of space or a system table is inconsistent. Check previous errors.
After that a coworker showed me this error, while executing a stored procedure.
The Database ID 85, Page (1:3403), slot 0 for LOB data type node does not exist. This is usually caused by transactions that can read uncommitted data on a data page. Run DBCC CHECKTABLE
Then I tried to run DBCC CHECKTABLE for the table inside that procedure, Command Executed successfully for all table except one. I had to restart the server in order to overcome this problem... what if it occur in production server, how to over come it then.
DBCC CHECKDB makes extensive use of tempdb. It relies on a mechanism similar to snapshot isolation to make sure it always sees a transactionally consistent image of the database, independent what else might be going on.
The error you receive is most likely due to the fact that there is not enough room on the drive that tempdb is on. However, the error also states to check any prior errors. Were there any?
I had run CheckDB against a 32GB db, and got this error. There were plenty space on the HD. So I increased the size of the tempdb log file to 8MB from 1MB, and closed some applications. Reran CheckDB, and it worked.
I know this is an old post, but if you get this and you know it can't be the tempdb and nothing above fixes it, try this. On each of your tables, run dbcc checktable ('yourtable'). One or more of them will likely give you the same error. then run the same command on that table with tablock IE "dbcc checktable ('yourtable') with tablock".