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

ID: Q170090


The information in this article applies to:
  • Microsoft SQL Server version 6.5

BUG #: 16964 (6.5)

SYMPTOMS

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.


CAUSE

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.


WORKAROUND

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.


STATUS

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 : kbusage SSrvGen kbbug6.50 kbfix6.50.sp4
Version : 6.5
Platform : WINDOWS
Issue type : kbbug


Last Reviewed: April 14, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.