Has anyone ever seen this fatal error before?

  • We get this fatal error when running one of our stored procedures:

    Server: Msg 7105, Level 22, State 6, Line 8

    Page (1:15179), slot 15 for text, ntext, or image node does not exist.

    Connection Broken

    Can anyone tell me what it means?

    It is run on a clustered SQL Server 2000 with SP 3 with 4 processors. I suspect data corruption, but our efforts to find the corruption are not working.

    Running DBCC CHECKDB showed a problem with an index which I repaired by running DBCC DBREINDEX. However, this has not made the error go away.

    Does anyone have any thoughts about what is wrong and/or how to fix it?

    Robert W. Marda

    SQL Programmer

    bigdough.com

    The world’s leading capital markets contact database and software platform.

    Robert W. Marda
    Billing and OSS Specialist - SQL Programmer
    MCL Systems

  • I am not sure if this applies to our situation. We recently put SP 3 on our cluster servers. The version shows as: Microsoft SQL Server 2000 - 8.00.760

    We have transactional replication running from another server to the server that is giving us problems.

    Sometimes the query we run produces the error and sometimes the same query does not produce the error. Also the page and slot location is usually different each time the error appears. This, too me, seems to imply that the problem is moving around.

    We've reduced the complex query to two tables and a subselect that uses two tables and still get the error.

    Could this error saying text, ntext, or image node does not exist be indicating a pointer that was there is not there any more. This query uses WITH (NOLOCK) on each table to allow dirty reads. Is there a way to release the pointer of a text column (such as setting the column to null)? and if this happened while a query is trying to read that row could that cause this error? Too me, this could also explain why it seems to be in a different place each time and why it doesn't happen every time. Does anyone know?

    Robert W. Marda

    SQL Programmer

    bigdough.com

    The world’s leading capital markets contact database and software platform.

    Robert W. Marda
    Billing and OSS Specialist - SQL Programmer
    MCL Systems

  • Can anyone explain to me what the first part of the error means and/or if I can make use of the info to track the problem.

    The first part of the most recent one I was able to get reads:

    Page (1:16910), slot 14 ...

    Could this mean the error is on a specific page? Does this info tell me if the problem is on a data page or index page? What does slot refer to?

    Robert W. Marda

    SQL Programmer

    bigdough.com

    The world’s leading capital markets contact database and software platform.

    Robert W. Marda
    Billing and OSS Specialist - SQL Programmer
    MCL Systems

  • From BOL "row ID (RID) comprised of the file number, page number, and slot number of the row"

  • Thanks, so the slot number sounds like it is the row number.

    Last night we finally were able to duplicate the error on a consistant basis.

    What we have is a table I'll call tblPeople and a tblPeople_repl table on server1. we have 3 triggers on tblPeople, one for insert, one for update, and one for delete. These triggers make changes to tblPeople_repl based on changes to tblPeople. We have replication that replicates all changes from tblPeople_repl to 6 other production servers into a table called tblPeople. On those 6 production servers we have stored procedures that can display the records in tblPeople and they always use WITH (NOLOCK) to do it.

    Among the many columns being replicated there are a few text columns. What we found is that each time a particular person is updated in such a way that one of the three triggers fire (and subsequently activates our transactional replication) and a select is done on the table wew get the error that started this thread:

    Server: Msg 7105, Level 22, State 6, Line 8

    Page (1:15179), slot 15 for text, ntext, or image node does not exist.

    We have changed the triggers so that they only update the text columns when absolutely necessary and have reduced the problem such that we now only get the error when a text column is updated.

    Robert W. Marda

    SQL Programmer

    bigdough.com

    The world’s leading capital markets contact database and software platform.

    Robert W. Marda
    Billing and OSS Specialist - SQL Programmer
    MCL Systems

Viewing 6 posts - 1 through 5 (of 5 total)

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