CORRECÇÃO: DBCC CHECKDB poderá produzir uma violação de acesso quando da base de dados está a ser utilizado

Traduções de Artigos Traduções de Artigos
Artigo: 293292 - Ver produtos para os quais este artigo se aplica.
N.º DE BUGS: 351941 (SHILOH_BUGS)
Expandir tudo | Reduzir tudo

Sintomas

O comando DBCC CHECKDB poderá produzir uma violação de acesso (AV) quando executado numa base de dados, enquanto outros utilizadores estiverem a aceder activamente a base de dados.

Resolução

Para resolver este problema, obtenha o service pack mais recente do SQL Server 2000. Para obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
290211INF: How to Obtain the Latest SQL Server 2000 Service Pack

Como contornar

Execute DBCC CHECKDB em modo de utilizador único ou durante uma carga reduzida de trabalho.

Ponto Da Situação

A Microsoft confirmou que este é um problema no SQL Server 2000. Este problema foi corrigido pela primeira vez no SQL Server 2000 Service Pack 1.

Mais Informação

A violação de acesso faz com que a ligação a partir da qual é executar DBCC CHECKDB seja interrompida, mas não é efectuada na base de dados. O comando pode ser com segurança reiniciado, preferencialmente num momento da carga de trabalho reduzida.

O seguinte rastreio da pilha pode estar de 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])  
*  

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
				

Propriedades

Artigo: 293292 - Última revisão: 6 de novembro de 2003 - Revisão: 3.2
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Standard Edition
Palavras-chave: 
kbmt kbbug kbfix kbsqlserv2000sp1fix KB293292 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 293292

Submeter comentários

 

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