FIX: DBCC CHECKDB 可能會發生存取違規時,產生資料庫正在使用中

文章翻譯 文章翻譯
文章編號: 293292 - 檢視此文章適用的產品。
Bug #: 351941 (SHILOH_BUGS)
全部展開 | 全部摺疊

徵狀

當其他使用者正在積極地存取資料庫時,在資料庫上執行時,DBCC CHECKDB 命令可能會產生存取違規 (AV)。

解決方案

如果要解決這個問題,取得最新的 Service Pack,SQL Server 2000。如需詳細資訊按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
290211INF: 如何取得最新的 SQL Server 2000 Service Pack

其他可行方案

單一使用者模式或降低的工作負載的期間,請執行 DBCC CHECKDB。

狀況說明

Microsoft 已確認這是在 SQL Server 2000 中的問題。這個問題已經先在 SQL Server 2000 Service Pack 1 中獲得修正。

其他相關資訊

存取違規會導致從中 DBCC CHECKDB 執行不完整,但不會完成資料庫連線。命令可能會重新安全地啟動,最好是一次降低的工作負載。

錯誤記錄檔中可以找到下列的堆疊追蹤:
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])  
*  

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
				

屬性

文章編號: 293292 - 上次校閱: 2003年11月6日 - 版次: 3.2
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2000 Standard Edition
關鍵字:?
kbmt kbbug kbfix kbsqlserv2000sp1fix KB293292 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:293292
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com