FIX: SELECT During UPDATE STATISTICS Can Terminate w/ Msg 814

ID: Q134629


The information in this article applies to:
  • Microsoft SQL Server versions 4.2x, 6.0

BUG# NT: 11144 (6.00)

SYMPTOMS

Queries that run during execution of UPDATE STATISTICS can terminate with Msg 814, Level 20, State 1:

Keep count of buffer <n> holding logical page <n> in database <db>
has become negative.


CAUSE

Though rare, you could encounter this problem if the following conditions apply:

  • The SELECT statement must include a subquery expression and execute a query plan that uses an index referenced in the UPDATE STATISTICS command (or indirectly if the entire table is referenced).


  • Dedicated Multiprocessor Performance must be ON (Or SMPConcurrency must be set to zero on SQL Server version 6.0).


  • The server must have three or more CPUs running.



If, after encountering the initial error, execution of other commands that involve tables from the SELECT statement also fails with Msg 814, you may have to restart SQL Server to avoid encountering the error in the future.


WORKAROUND

Run UPDATE STATISTICS prior to or after the query that fails.

-OR-

Drop and recreate affected indexes instead of running UPDATE STATISTICS.


STATUS

Microsoft has confirmed this to be a problem in Microsoft SQL Server versions 4.21a and 6.0. This problem was corrected in Service Pack 2 for SQL Server version 6.0. For more information, contact your primary support provider.

Additional query words: sql6 buffer manager Windows NT

Keywords : kbenv SSrvTran_SQL kbbug4.21a kbbug6.00 kbfix6.00.sp2 SSrvWinNT
Version : 4.21a 6.0
Platform : WINDOWS
Issue type :


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