4

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.

4

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?

2

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.

1

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, i.e.

dbcc checktable ('yourtable') with tablock

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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