[FIX] データベース使用中 DBCC CHECKDB を実行するとアクセス違反が発生

文書翻訳 文書翻訳
文書番号: 293292 - 対象製品
この記事は、以前は次の ID で公開されていました: JP293292
すべて展開する | すべて折りたたむ

現象

ほかのユーザーがデータベースに頻繁にアクセスしているときに DBCC CHECKDB コマンドを実行すると、アクセス違反が発生します。

解決方法

この問題を解決するために、SQL Server 2000 の最新の Service Pack の適用をお願いいたします。
最新の SQL Server サービスパックのダウンロードおよびインストールについて詳しくは以下をご覧下さい。

http://www.microsoft.com/japan/sql/download/default.asp (日本語版)
http://www.microsoft.com/sql/downloads/default.htm(英語版)

回避策

DBCC CHECKDB をシングル ユーザー モードで実行するか、作業負荷が小さいときに実行します。

状況

弊社では、これを Microsoft SQL Server version 2000 の問題として確認しています。
この問題は、Microsoft SQL Server version 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

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 293292 (最終更新日 2001-06-13) をもとに作成したものです。

プロパティ

文書番号: 293292 - 最終更新日: 2003年11月12日 - リビジョン: 2.1
この資料は以下の製品について記述したものです。
  • Microsoft SQL Server 2000 Standard Edition
キーワード:?
kbbug kbfix kbsqlserv2000bug kbsqlserv2000sp1fix KB293292
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

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