Microsoft KB Archive/293292

= FIX: DBCC CHECKDB May Produce an Access Violation When Database Is in Use =

Article ID: 293292

Article Last Modified on 11/6/2003

-

APPLIES TO


 * Microsoft SQL Server 2000 Standard Edition

-



This article was previously published under Q293292



BUG #: 351941 (SHILOH_BUGS)



SYMPTOMS
The DBCC CHECKDB command may produce an access violation (AV) when run on a database while other users are actively accessing the database.



RESOLUTION
To resolve this problem, obtain the latest service pack for SQL Server 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

290211 INF: How to Obtain the Latest SQL Server 2000 Service Pack



WORKAROUND
Run DBCC CHECKDB in single user mode or during a time of reduced work load.



STATUS
Microsoft has confirmed that this is a problem in SQL Server 2000. This problem was first corrected in SQL Server 2000 Service Pack 1.



MORE INFORMATION
The access violation causes the connection from which DBCC CHECKDB is run to be broken, but no harm is done to the database. The command may be safely restarted, preferably at a time of reduced work load.

The following stack trace may be found in the errorlog: 2001-01-16 13:47:54.86 spid59   SqlDumpExceptionHandler: Process 2624 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.
 * BEGIN STACK DUMP:
 * 01/16/01 13:47:54 spid 59
 * Exception Address = 008DBAD2 (CheckTables::PageUpdate(class CheckRecInfo &,unsigned char,unsigned char) + 00000092 Line 0+00000000)
 * Exception Code   = c0000005 EXCEPTION_ACCESS_VIOLATION
 * Access Violation occurred reading address 00000012
 * Input Buffer 50 bytes -
 * dbcc checkdb([MSSales])
 * Access Violation occurred reading address 00000012
 * Input Buffer 50 bytes -
 * dbcc checkdb([MSSales])

Short Stack Dump 008DBAD2 Module(sqlservr+004DBAD2) (CheckTables::PageUpdate(class CheckRecInfo &,unsigned char,unsigned char)+00000092) 008E88B9 Module(sqlservr+004E88B9) (CheckTables::ProcessLogModifyRow(class PageLog const *,class CheckRecInfo &,unsigned char,enum LOGR_UNDO_FLAG)+00000208) 008C91D1 Module(sqlservr+004C91D1) (CheckAggregate::ProcessLog(class LogRec const *,class CheckRecInfo &,enum LOGR_UNDO_FLAG)+000000B6) 008C938E Module(sqlservr+004C938E) (CheckAggregate::ProcessLogRecord(class LogRec const *,class LSN const &,enum LOGR_UNDO_FLAG)+0000009E) 008DB1F3 Module(sqlservr+004DB1F3) (CheckLogReader::ReadLog(int (__cdecl*)(class LogRec const *,class LSN const &,enum LOGR_UNDO_FLAG),class CAutoLatch &)+00000303) 008DB495 Module(sqlservr+004DB495) (CheckLogReader::ScanLog(int (__cdecl*)(class LogRec const *,class LSN const &,enum LOGR_UNDO_FLAG))+000000D6) 008C8EA1 Module(sqlservr+004C8EA1) (CheckAggregate::GetNextFact(void)+000000F2) 008EB20E Module(sqlservr+004EB20E) (CTRowsetInstance::FGetNextRow(void)+00000216) 0091FD06 Module(sqlservr+0051FD06) (CUtRowset::GetNextRows(unsigned long,long,long,unsigned long *,unsigned long * *)+00000050) 0070FAA3 Module(sqlservr+0030FAA3) (CQScanRmtScan::GetRow(unsigned long *,unsigned long *)+00000155) 00719763 Module(sqlservr+00319763) (CQScanXProducer::Open(unsigned long *)+0000039B) 007191AA Module(sqlservr+003191AA) (FnProducerThread(void *)+0000022C) 004DF8D2 Module(sqlservr+000DF8D2) (subproc_main(void *)+000000E3) 410735D0 Module(UMS+000035D0) (ProcessWorkRequests(class UmsWorkQueue *)+00000264) 4107382C Module(UMS+0000382C) (ThreadStartRoutine(void *)+000000BC) 7800BEA1 Module(MSVCRT+0000BEA1) (_beginthread+0000008B) 77E837CD Module(KERNEL32+000037CD) (_BaseThreadStart@8+00000052) --- Dump thread - spid = 59, PSS = 0x4a569228, EC = 0x4a569538 Stack Dump being sent to d:\MSSQL\log\SQL00164.dmp

Keywords: kbbug kbfix kbsqlserv2000sp1fix KB293292

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.