Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se:SQL Server
Detalhes
| Atributo | Valor |
|---|---|
| Nome do produto | SQL Server |
| ID do evento | 823 |
| Origem do Evento | MSSQLSERVER |
| Componente | SQLEngine |
| Nome simbólico | B_HARDERR |
| Texto da mensagem | O sistema operacional retornou o erro %ls para o SQL Server durante um %S_MSG no deslocamento %#016I64x do arquivo '%ls'. Mensagens adicionais no log de erros do SQL Server e no log de eventos do sistema podem fornecer mais detalhes. Essa é uma condição de erro grave em nível de sistema que ameaça a integridade do banco de dados e deve ser corrigida imediatamente. Execute uma verificação de consistência completa do banco de dados (DBCC CHECKDB). Esse erro pode ter sido causado por vários fatores. Para obter mais informações, consulte os Manuais Online do SQL Server. |
Explicação
O SQL Server usa APIs do Windows (por exemplo, ReadFile, WriteFile, ReadFileScatter, WriteFileGather) para executar operações de E/S de arquivo. Depois que o SQL Server executa essas operações de E/S, ele verifica se há condições de erro associadas a essas chamadas à API. Se as chamadas à API falharem com um erro do sistema operacional, o SQL Server relatará o Erro 823.
A mensagem de erro 823 contém as seguintes informações:
- O arquivo de banco de dados no qual a operação de E/S foi executada.
- O deslocamento dentro do arquivo em que ocorreu a tentativa de realização da operação de E/S. Esse é o deslocamento de bytes físicos do início do arquivo. Dividir esse número por 8.192 fornece o número de página lógica afetado pelo erro.
- Se a operação de E/S é uma solicitação de leitura ou gravação.
- O código de erro do Sistema Operacional e a descrição de erro entre parênteses.
Erro do sistema operacional: Uma chamada de API do Windows de leitura ou gravação não é bem-sucedida e o SQL Server encontra um erro do sistema operacional relacionado à chamada à API do Windows. A seguinte mensagem é um exemplo de um erro 823:
Error: 823, Severity: 24, State: 2.
2010-03-06 22:41:19.55 spid58 The operating system returned error 1117 (The request could not be performed because of an I/O device error.) to SQL Server during a read at offset 0x0000002d460000 in file 'e:\program files\Microsoft SQL Server\mssql\data\mydb.MDF'. Additional messages in the SQL Server error log and system event log may provide more detail. This is a severe, system-level error condition that threatens database integrity and must be corrected immediately. It is recommended to complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.
Você pode 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 vir um erro 823. Se a instrução DBCC CHECKDB não relatar erros, você provavelmente terá um problema de sistema intermitente ou um problema de disco.
Informações adicionais de diagnóstico para 823 erros podem ser gravadas no arquivo de log de erros do SQL Server quando você usa o sinalizador de rastreamento 818. Para obter mais informações, consulte O diagnóstico do SQL Server detecta problemas de E/S não relatados devido a leituras obsoletas ou gravações perdidas.
Causa
A mensagem de erro 823 geralmente indica que há um problema com o sistema de armazenamento subjacente ou o hardware ou um driver que está no caminho da solicitação de E/S. Você poderá encontrar esse erro quando houver inconsistências no sistema de arquivos ou se o arquivo de banco de dados estiver danificado. Para uma leitura de arquivo, o SQL Server já repetiu a solicitação de leitura quatro vezes antes de retornar 823. Se a operação de repetição for bem-sucedida, a consulta não falhará, mas a mensagem MSSQLSERVER_825 será gravada no ERRORLOG e no Log de Eventos.
Ação do usuário
Examine a tabela suspect_pages em
msdboutras páginas que estão encontrando esse problema (no mesmo banco de dados ou bancos de dados diferentes).Verifique a consistência dos bancos de dados localizados no mesmo volume (como o relatado na mensagem 823) usando o comando DBCC CHECKDB. Se você encontrar inconsistências do comando DBCC CHECKDB, use as diretrizes de Como solucionar problemas de consistência do banco de dados relatados pelo DBCC CHECKDB.
Examine os logs de eventos do Windows para verificar se há erros ou mensagens relatadas pelo sistema operacional, um dispositivo de armazenamento ou um driver de dispositivo. Se eles estiverem relacionados a esse erro de alguma forma, resolva esses erros primeiro. Por exemplo, além da mensagem 823, você também pode notar um evento como "O driver detectou um erro do controlador em \Device\Harddisk4\DR4" relatado pela origem do disco no Log de Eventos. Nesse caso, você precisará avaliar se esse arquivo está presente neste dispositivo e corrigir os erros de disco primeiro.
Use o utilitário Usar o SQLIOSim para simular a atividade do SQL Server em um utilitário de subsistema de disco para descobrir se esses 823 erros podem ser reproduzidos fora das solicitações regulares de E/S do SQL Server. O utilitário SQLIOSim é fornecido com o SQL Server 2008 e versões posteriores para que não haja necessidade de um download separado. Normalmente, você pode encontrá-lo na pasta
C:\Program Files\Microsoft SQL Server\MSSQLxx.MSSQLSERVER\MSSQL\Binn.Trabalhe com seu fornecedor de hardware ou fabricante de dispositivos para garantir
- Os dispositivos de hardware e a configuração estão em conformidade com os requisitos de E/S do SQL Server
- Os drivers de dispositivo e outros componentes de software de suporte de todos os dispositivos no caminho de E/S estejam atualizados
Se o fabricante do dispositivo ou fornecedor de hardware fornecer a você utilitários de diagnóstico, use-os para avaliar a integridade do sistema de E/S
Avalie se há drivers de filtro no caminho dessas solicitações de E/S que encontram problemas.
- Verifique se há atualizações para esses drivers de filtro
- Esses drivers de filtro podem ser removidos ou desabilitados para observar se o problema que resulta no erro 823 desaparece?