Mensagem de erro 823 pode indicar problemas de hardware ou problemas do sistema no SQL Server

Traduções deste artigo Traduções deste artigo
ID do artigo: 828339 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Se você receber a seguinte mensagem de erro, pode indicar que o Microsoft SQL Server 2000 detectou problemas de hardware ou sistema quando ele foi ler ou gravar em arquivos de banco de dados:
Erro 823
Erro de E/s <error > detectado durante a <operation > no deslocamento <offset > no arquivo ' <file>'
Observação O formato da mensagem de erro é ligeiramente diferente no Microsoft SQL Server 2005 e Microsoft SQL Server 7.0. No entanto, os mesmos conceitos e discussões também se aplicam para SQL Server 2005 e o SQL Server 7.0.

Para obter mais informações sobre as várias partes desta mensagem, como <error > e <operation > e para obter mais informações sobre o uso de chamadas de API do Microsoft Windows que são feitas pelo SQL Server 2000, consulte a seção "Mais informações" deste artigo.

Resolução

SQL Server 2000 gera o erro mencionado na seção "Sintomas" deste artigo se as seguintes condições forem verdadeiras:
  • Erro do sistema operacional: ler A chamada API do Windows ou uma gravação chamada API do Windows não é bem-sucedida, e o SQL Server encontra um erro de sistema operacional que está relacionado à chamada de API do Windows. A seguinte mensagem de erro é um exemplo de um erro 823 para um sistema operacional:
    07-2003-28 09:01:27.38 spid75 erro: 823, gravidade: 24,
    Estado: 2
    07-2003-28 09:01:27.38 spid75 E/s erro 1117 (A solicitação não pôde ser executada devido a uma E/s dispositivo erro.) detectado durante a ler no deslocamento 0x0000002d460000 no arquivo 'e:\program Files\Microsoft SQL Server\mssql\data\mydb.MDF'
    Exceto para o erro de sistema operacional 6 (? O identificador é inválido ?), erros de sistema operacional que são relatados para 823 erros provavelmente relacionados a um problema no sistema subjacente ou problema de hardware. Se ocorrer um erro de sistema operacional, mesmo se a instrução DBCC CHECKDB não relate um problema, talvez você precise trabalhar com seu fornecedor de hardware, administrador do sistema ou suporte técnico da Microsoft para resolver esse problema.

    Observação Você pode ou não poderá ver erros da instrução DBCC CHECKDB no banco de dados associado ao arquivo na mensagem de erro. Você pode executar a instrução DBCC CHECKDB quando você vir um erro 823. Se o DBCC CHECKDB instrução não relate erros, você provavelmente tem um problema intermitente de sistema ou um problema de disco.
  • Falha de verificação lógica de E/s: se uma leitura chamada API do Windows ou uma gravação chamada API do Windows para um arquivo de banco de dados é bem-sucedida, mas lógicas verificações específicas nos dados não são bem-sucedidas (uma rasgado página, por exemplo), será gerado um erro 823. A seguinte mensagem de erro é um exemplo de um erro 823 para uma E/s lógico verificar falha:
    2003-09-05 16:51:18.90 spid17 erro: 823, gravidade: 24,
    Estado: 2
    2003-09-05 16:51:18.90 spid17 E/s erro (página interrompida) detectado durante a leitura no deslocamento 0x00000094004000 no arquivo 'F:\SQLData\mydb.MDF'
    Para resolver esse problema, primeiro execute a instrução DBCC CHECKDB no banco de dados associado ao arquivo na mensagem de erro. Se a instrução DBCC CHECKDB relata erros, corrigir esses erros antes de solucionar esse problema. Se o problema persistir mesmo após os DBCC CHECKDB erros foram corrigidos, ou se a instrução DBCC CHECKDB não relate erros, verificar no log de eventos do sistema Microsoft Windows NT para quaisquer erros do sistema ou erros relacionadas ao disco. Você também pode contatar o fornecedor do hardware para execute qualquer diagnóstico apropriado.

Mais Informações

Detalhes da mensagem de erro

As partes da mensagem de erro 823 são descritas aqui em mais detalhes:
Erro 823
Erro de E/s <error > detectado durante a <operation > no deslocamento <offset > no arquivo ' <file>'
As informações de mensagem de 823 erro podem ser explicadas em mais detalhes:
  • <error >: isso pode ser um erro de sistema operacional ou uma falha de verificação E/s lógica. Para um erro de sistema operacional, o número de erro do sistema operacional segue ? erro de E/s ?. O texto do erro de sistema operacional será incluído entre parênteses após "Erro de E/serror number. "

    Uma falha de verificação E/s lógico, a mensagem de falha é dentro dos parênteses e pode ser uma das seguintes opções:
    • (página interrompida): para obter mais informações sobre páginas rasgadas, consulte nos manuais online do SQL Server 2000.
    • (identificação de página inválida): esta mensagem significa que o pageID no cabeçalho da página não é a página esperada que foram lidos a partir do disco. Por exemplo, se o SQL Server 2000 fornece um arquivo de deslocamento do arquivo de banco de dados 1 é para a página lógica 100, pageID no cabeçalho da página para a página de 8 KB deve ser 1: 100. Se não, identificação da página o incorreto incluída na mensagem de falha de verificação de E/s lógica.
    • (insuficientes bytes transferidos): esse problema indica que a chamada API do Windows foi bem-sucedida, mas os bytes que foram transferidos não foram o que era esperado.
  • <operation><operação>: isso é de leitura ou gravação.
  • <offset>: Este é o deslocamento de byte física desde o início do arquivo. Dividindo esse número por 8192 dará a você o número de página lógica que afetados pelo erro.
  • <file>: Este é o arquivo que está associado com o problema de E/s e inclui seu caminho físico completo.

SQL Server E/s e o Windows API

SQL Server 2000 usa chamadas API do Windows padrão, como ReadFile, ReadFileScatter, WriteFile e WriteFileGather, para executar E/s com seus arquivos de banco de dados. Quando o SQL Server 2000 usa as chamadas de API do Windows, o arquivo já foi aberto com êxito, ou SQL Server 2000 não seria tente ele ler ou gravar nela. Portanto, se uma chamada API do Windows não for bem-sucedida e se o erro é algo diferente do erro de sistema operacional 6 ("inválido identificador"), o erro provavelmente é que está sendo gerado no Windows ou por um componente de software de nível inferior, como um driver de dispositivo. Porque o erro de sistema operacional 6 é um identificador inválido, o problema pode ocorrer se o SQL Server está usando um identificador inválido para fazer uma chamada API do Windows. No entanto, isso ainda pode ser um problema no sistema.

Por exemplo, se você encontrar a seguinte mensagem de erro no arquivo Errorlog do SQL Server, SQL Server encontrou erro de sistema operacional 2 quando ele usa uma chamada API do Windows para gravar o arquivo de banco de dados primário tempdb :
Erro: 823, gravidade: 24, estado: 4
Erro de E/s 2 (O sistema não é possível localizar o arquivo especificado.) detectado durante a gravação no deslocamento 0x00000000284000 no arquivo ' d:\Arquivos Files\Microsoft SQL Server\MSSQL\data\tempdb.mdf '
Como o SQL Server já com êxito abriu o arquivo e não recebeu um erro ? identificador inválido ?, o erro é provavelmente sendo gerado em um componente de software do kernel de nível inferior, como o sistema de arquivos ou um driver de dispositivo. Esse problema não indica um problema no SQL Server e deve ser investigado como um problema com o sistema de arquivos ou um driver de dispositivo que seja associado ao arquivo.

Referências

Informações de diagnóstico adicionais para 823 erros podem ser gravadas para o arquivo Errorlog do SQL Server ao usar o sinalizador de rastreamento 818. Para obter informações adicionais sobre essas informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
826433PROBLEMA: SQL Server adicionais diagnóstico ao detectar problemas de E/s unreported
SQL Server requer sistemas para oferecer suporte a ? entrega de mídia estável garantida ? conforme descrito no programa do Microsoft SQL Server Always-On armazenamento Solution revisão. FOPara obter mais informações sobre os requisitos de entrada e saídas para o mecanismo de banco de dados do SQL Server, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
967576Requisitos do Microsoft SQL Server Database Engine entrada/saída

Propriedades

ID do artigo: 828339 - Última revisão: terça-feira, 20 de dezembro de 2005 - Revisão: 2.4
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Standard
Palavras-chave: 
kbmt kbprb KB828339 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 828339

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