A read operation on a large object failed

  • The following error is showing up in our SQL Logs:

    "A read operation on a large object failed while sending data to the client. A common cause for this is if the application is running in READ UNCOMMITTED isolation level. This connection will be terminated."

    "Error: 7886, Severity: 20, State: 1."

    Has anyone else gotten this error, and has anyone found out what causes it and how to fix it?

    Thanks.

  • Is there a client running with this isolation level? Sounds like the data changed while it was being streamed out. READ UNCOMMITTED would allow that.

  • If you are actually running a query with NOLOCK or READ UNCOMMITED, the error is typically because you are trying to read a row from a table that has a TEXT, NTEXT, or IMAGE field in it. With NOLOCK or the READ UNCOMMITED transaction level set, it is possible to read a row from the data table while the blob field has not been properly committed thus making your data invalid and giving you the error. The fix is to either use a different isolation level, or to ensure you are not reading records that are being inserted or updated that contain BLOB data.

    If you are not using one of these isolation levels, you may have a pointer to a BLOB extent that is invalid. To verify this, you can use DBCC commands to check the integrity of your table. They will return the information about the pages containing bad references to BLOB data. If you use the switch to allow data loss with the DBCC commands, the invalid BLOB references will be fixed by dropping the invalid reference and removing any orphaned BLOB data (but you will lose the data).

Viewing 3 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic. Login to reply