Sql-server – What does “slot 80 for LOB data type node does not exist” error in sql server mean

dbccsql-server-2008

When I modify a table in SQL Server 2008 I get the following error:

The Database ID 29, Page (1:235225),
slot 80 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

Can any one help me?

Best Answer

While normal columns are stored in the actual row record (the structure on disk), LOB columns are stored on a different page, leaving a pointer to that page on the original page.

When you scan a table, all the data pages will be scanned, including the pointers to the LOB pages. If the timing is right, and you're running under READ UNCOMMITTED, you might scan the data page, but when the page containing the LOB data is scanned (by following the pointer in the referring record), it might have been changed/deleted in the meantime.

It could also be caused by corruption, in which case you should be able to reproduce the error again and again. In this case, run DBCC CHECKDB to check for corruption issues. If you can't reproduce it but it happens too often, see if you can't change the isolation level.