Microsoft KB Archive/170090

From BetaArchive Wiki
Knowledge Base

FIX: Recovery May Fail w/Error 6902 and Mark Database as Suspect

Article ID: 170090

Article Last Modified on 10/16/2003


  • Microsoft SQL Server 6.5 Standard Edition

This article was previously published under Q170090

BUG #: 16964 (6.5)


LOAD TRAN or recovery may fail with the following error and mark the database as suspect if UPDATETEXT was used to insert at least two text/image pages into the middle of an existing text/image column:

6902 21 Page timestamp value falls between the old and new timestamps
from log. Page #=%ld, object id = %ld, page timestamp=%04x %08lx. Log:
old timestamp=%04x %08lx, new timestamp=%04x %08lx.


When processing an UPDATETEXT statement that would insert one or more pages, the timestamp on the first page after the newly inserted pages is not changed until all pages are inserted. On recovery, SQL Server checks the timestamps before making any change on a page, which causes the problem.


To work around this problem, avoid using UPDATETEXT to insert data into the middle of existing text/image pages. However, UPDATETEXT works fine if new data is appended to the end rather than inserted into the middle.


Microsoft has confirmed this to be a problem in SQL Server version 6.5. This problem was corrected in the latest Microsoft SQL Server 6.5 U.S. Service Pack. For information on obtaining the service pack, query on the following word in the Microsoft Knowledge Base (without the spaces):

   S E R V P A C K

Additional query words: tlog database wrong begin incomplete rollback forward abort

Keywords: kbbug kbfix kbusage KB170090