Registrations are now open. Join us today!
There is still a lot of work to do on the wiki yet! More information about editing can be found here.
Already have an account?

Microsoft KB Archive/171865

From BetaArchive Wiki
Knowledge Base

Article ID: 171865

Article Last Modified on 10/3/2003


  • Microsoft SQL Server 6.5 Standard Edition

This article was previously published under Q171865

BUG #: 17089 (Windows NT: 6.5)


If an UPDATE trigger fires and contains an UPDATE that joins with the inserted table, the following error may occur if SET FORCEPLAN is set ON and the sysindexes count for syslogs number of pages is high:

Msg 806, Level 21, State 1
Could not find virtual page for logical page <page#> in database


To work around this problem, look for ways to avoid using SET FORCEPLAN ON with UPDATE statements including proper index design.

If you truncate the transaction log and/or run DBCC CHECKTABLE(syslogs) to update the sysindexes entries for syslogs, it is possible that the problem will not occur.


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


The following is a summary of the conditions that cause the problem to occur:

  • SET FORCEPLAN is set ON.
  • An UPDATE statement inside an UPDATE trigger joins with the inserted table.
  • The table being updated contains at least two rows.
  • The transaction log according to sysindexes.dpages has a large number of pages used.

Keywords: kbbug kbfix kbusage kbsqlserv650bug KB171865