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

Traduções de Artigos Traduções de Artigos
Artigo: 828339 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Se receber a seguinte mensagem de erro, poderá indicar que o Microsoft SQL Server 2000 detectou problemas de hardware ou sistema quando este foi ler ou escrever para os ficheiros de bases de dados:
Erro 823
Erro de E/s <error > detectado durante a <operation > desfasamento <offset > no ficheiro ' <file>'
Nota O formato da mensagem de erro é ligeiramente diferente no Microsoft SQL Server 2005 e o Microsoft SQL Server 7.0. No entanto, os mesmos conceitos e debates também se aplicam ao SQL Server 2005 e SQL Server 7.0.

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

Resolução

SQL Server 2000 aumenta o erro mencionado na secção "Sintomas" deste artigo se as seguintes condições forem verdadeiras:
  • Erro do sistema operativo: ler A chamada de API do Windows ou uma operação de escrita chamada da API do Windows não tiver êxito e SQL Server encontra um erro de sistema operativo que está relacionado com a chamada API do Windows. A seguinte mensagem de erro se um exemplo de um erro 823 de um sistema operativo:
    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 (O pedido não pôde ser executado devido um erro de dispositivo de E/s.) detectado durante a ler no deslocamento 0x0000002d460000 no ficheiro 'e:\program Files\Microsoft SQL Server\mssql\data\mydb.MDF'
    Excepto para o erro de sistema operativo 6 (? O identificador é inválido ?), erros de sistema operativo que são comunicados para provável 823 erros relacionados com um problema subjacente do sistema ou problema de hardware. Se ocorrer um erro de sistema operativo, mesmo se a instrução DBCC CHECKDB não comunica um problema, poderá ter de trabalhar com o fornecedor de hardware, administrador de sistema ou dos serviços de suporte a produtos da Microsoft para resolver este problema.

    Nota Poderá, ou poderá não ver erros de instrução DBCC CHECKDB na base de dados que está associado o ficheiro a mensagem de erro. É possível executar a instrução DBCC CHECKDB quando vir o erro 823. Se o comando DBCC CHECKDB instrução não comunica erros, terá provavelmente um problema de sistema intermitentes ou um problema do disco.
  • Falha de lógica de verificação de E/s: Se uma leitura chamada de API do Windows ou uma escrita chamada da API do Windows para um ficheiro de base de dados for bem sucedida, mas não conseguir verificações lógicas específicas nos dados (uma rasgado página, por exemplo), erro 823 é accionado. A seguinte mensagem de erro é um exemplo de um erro 823 para uma E/s lógico verificar falha:
    05-09-2003 16:51:18.90 spid17 erro: 823, gravidade: 24,
    Estado: 2
    16:51:18.90 05-09-2003 spid17 E/s foi (página rasgado) detectado um erro durante a leitura no desvio 0x00000094004000 no ficheiro 'F:\SQLData\mydb.MDF'
    Para resolver este problema, execute primeiro a instrução DBCC CHECKDB na base de dados que está associado o ficheiro a mensagem de erro. Se a instrução DBCC CHECKDB comunicar erros, corrigir os erros antes de resolver este problema. Se o problema persistir, mesmo depois de foram corrigidos erros DBCC CHECKDB ou se a instrução DBCC CHECKDB não comunica erros, rever o Microsoft Windows NT evento registo sistema os erros de sistema ou erros relacionados com o disco. Também pode contactar o fornecedor de hardware para execute quaisquer diagnósticos adequados.

Mais Informação

Detalhes da mensagem de erro

As partes a seguinte mensagem de 823 erro são descritas aqui mais detalhadamente:
Erro 823
Erro de E/s <error > detectado durante a <operation > desfasamento <offset > no ficheiro ' <file>'
Informações da mensagem de 823 erro podem ser explicadas mais detalhadamente:
  • <error >: Isto pode ser um erro de sistema operativo ou uma falha na verificação de E/s lógica. Para um erro de sistema operativo, o número de erro do sistema operativo segue ? Ocorreu um erro de e/s. ? O texto do erro de sistema operativo é incluído no parênteses depois de "Erro de E/serror number ".

    Para uma falha de verificação de E/s lógica, a mensagem de erro é dentro de parênteses e pode ser um dos seguintes procedimentos:
    • (página rasgada): para obter mais informações sobre páginas rasgadas, consulte o SQL Server 2000 Books Online.
    • (ID de página inválido): esta mensagem significa que o pageID o cabeçalho de página não é a página esperada que foi lida a partir do disco. Por exemplo, se SQL Server 2000 fornece um ficheiro de desfasamento do ficheiro de base de dados 1 por página lógica 100, pageID no cabeçalho de página para essa página 8 KB deverá ser 1: 100. Se não, o incorrecto página ID é incluído na mensagem de falha de verificação de E/s lógica.
    • (insuficientes bytes transferidos): este problema indica que a chamada de API do Windows foi concluída com êxito, mas os bytes que foram transferidos não foram o que era esperado.
  • <operation><operação>: trata de leitura ou escrita.
  • <offset>: Este é o desvio do byte física desde o início do ficheiro. Este número dividido por 8192 apresentará o número de página lógica que é afectado pelo erro.
  • <file>: Este é o ficheiro que está associado com o problema de E/s e inclui o caminho físico completo.

API de E/s e o Windows do SQL Server

SQL Server 2000 utiliza chamadas de API do Windows padrão, tais como ReadFile, ReadFileScatter, WriteFile e WriteFileGather, para efectuar a E/s com os ficheiros de base de dados. Quando o SQL Server 2000 utiliza as chamadas de API do Windows, o ficheiro já foi aberto com êxito, ou SQL Server 2000 iria não tente-ler ou escrever para o mesmo. Por conseguinte, se uma chamada de API do Windows não for bem sucedida e se o erro é diferente do erro de sistema operativo 6 ("inválido identificador"), o erro é provavelmente a ser desencadeado no Windows ou por um componente de software de nível inferior, tal como um controlador de dispositivo. Uma vez que o erro de sistema operativo 6 é um identificador inválido, o problema poderá ocorrer se o SQL Server está a utilizar um identificador inválido para efectuar uma chamada de API do Windows. No entanto, este ainda poderá ser um problema do sistema.

Por exemplo, se for apresentada a seguinte mensagem no ficheiro Errorlog do SQL Server, SQL Server encontrou o sistema operativo erro 2 quando utiliza uma chamada de API do Windows para escrever o ficheiro de base de dados primário tempdb :
Erro: 823, gravidade: 24, estado: 4
Erro de E/s 2 (O sistema não consegue localizar o ficheiro especificado.) detectado durante a escrita no deslocamento 0x00000000284000 no ficheiro ' D:\Program Files\Microsoft SQL Server\MSSQL\data\tempdb.mdf '
Uma vez que SQL Server já com êxito abriu o ficheiro e não recebeu um erro ? identificador inválido ?, o erro é provavelmente a ser desencadeado num componente de software kernel de nível inferior, como o sistema de ficheiros ou um controlador de dispositivo. Este problema não indica um problema no SQL Server e tem de ser investigado como um problema com o sistema de ficheiros ou um controlador de dispositivo associado ao ficheiro.

Referências

Informações de diagnóstico adicionais para 823 erros podem ser escritas no ficheiro de SQL Server Errorlog quando utiliza o sinalizador de rastreamento 818. Para obter informações adicionais sobre estas informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
826433PROBLEMA: SQL Server adicionais diagnósticos ao detectar problemas de E/s não reportados
SQL Server requer sistemas para suportar ? garantida a entrega de multimédia estável ? conforme descrito no programa do Microsoft SQL Server Always-On armazenamento solução de revisão. FOPara obter mais informações sobre os requisitos de entrada e saídas para o motor de base de dados do SQL Server, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
967576Requisitos de motor de entrada/saída do Microsoft SQL da base de dados do servidor

Propriedades

Artigo: 828339 - Última revisão: 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 2005 Server Enterprise
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL 2005 Server Workgroup
  • 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 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: 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