Error 7105

Severity

22, 11

Message text

TEXT/IMAGE/UNITEXT page %d does not have a next page, although it should.

NoteThis error may be caused by a hardware problem.

Explanation

Tables can contain text, image, or unitext columns. Adaptive Server stores text, image, or unitext data in a linked list of data pages separate from the rest of the table. On a 2K page size server, each 2K text, image, or unitext page stores a maximum of 1800 bytes of data.

Error 7105 occurs when Adaptive Server attempts data retrieval or another operation on a table’s text, image, or unitext data, and the operation fails due to an unexpected termination of the page chain. If the operation involved copying data, the problem could be on the source side (the page chain being read) or the destination side (the page chain being written out). The severity of the 7105 error message can help you determine the origin of the problem.

Error 7105 indicates a bad text, image, or unitext page chain; when the severity of the error is 11, the error may result from doing dirty reads.

Error 2574 is a related error (see “Error 2574”); it is raised when a dbcc check finds problems with a table’s text, image, or unitext page chain.

Action


Severity 22:

The problem is typically due to a small number of bad rows in a table with text, image, or unitext data, and can be corrected by dropping and re-creating those rows. Use the following steps to correct the problem:

  1. Identify the table. Refer to “Finding an object name from a page number” in the chapter “Other Useful Tasks” in the most recent version of Troubleshooting and Disaster Recovery.

    WARNING! The procedure referenced in step 1 uses the dbcc page command. Use the dbcc page command only as directed. This command is undocumented, nonstandard, and is provided “as is” without any warranty. Sybase Technical Support does not support this command for general use. Although the command syntax is provided for reference, use this command only in the specific diagnostic situations described, and with the specific syntax shown. Failure to do so could cause performance problems and database corruption.

  2. Determine the first page of the text, image, or unitext chain using dbcc pglinkage, with the starting page being the page number from the error message.

    For example, assuming dbid=7 and starting page number 531:

    1> dbcc pglinkage(7, 531, 0, 1, 0, 0)
    2> go
    
    Object ID for pages in this chain = 208003772.
    Beginning of chain reached.
    Page : 531
    Page : 532
    Page : 530
    3 pages scanned. Object ID = 208003772.
    Last page in scan = 530.
    

    Page 530 is the first page of the text, image, or unitext chain.

  3. Identify the rows with the bad data using the following command:

    1> select <column1> from <table_name> 
    2> where convert (int, textptr(<text_colname>)) 
    3> = <first_page_of_chain> 
    4> go
    

    Where <column1> is any column or columns in your table that will uniquely identify the rows.

  4. Drop the rows in question.

  5. Insert the rows back into the table.

  6. Run dbcc checktable on the table to verify that the problem has been corrected.


Severity 11:

Error 7105 is probably due to doing a dirty read, and is unlikely to be related to page corruption. If the problem persists on the same page, page corruption may be involved; follow the instructions for severity 22 (above) to resolve the problem.

Additional information

When you call Sybase Technical Support, have the information on hand that is listed in “Reporting errors”, including the output of dbcc page and dbcc pglinkage.

Versions in which this error is raised

All versions