Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Detalhes
| Atributo | Valor |
|---|---|
| Nome do Produto | Servidor SQL |
| ID do Evento | 823 |
| Origem do evento | MSSQLSERVER |
| Componente | SQLEngine |
| Nome simbólico | B_HARDERR |
| Texto da mensagem | O sistema operativo retornou o erro %ls ao SQL Server durante um %S_MSG no deslocamento %#016I64x no arquivo '%ls'. Mensagens adicionais no log de erros do SQL Server e no log de eventos do sistema podem fornecer mais detalhes. Esta é uma condição de erro grave no nível do sistema que ameaça a integridade do banco de dados e deve ser corrigida imediatamente. Conclua uma verificação completa de consistência do banco de dados (DBCC CHECKDB). Este erro pode ser causado por muitos 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 arquivos. Depois que o SQL Server executa essas operações de E/S, ele verifica se há condições de erro associadas a essas chamadas de API. Se as chamadas de 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 onde a operação de E/S foi tentada. Este é o deslocamento de byte físico desde o início do arquivo. Dividindo esse número por 8.192, obtém-se o número de página lógico que é 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 do 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 de 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 intermitente do sistema ou um problema de disco.
Informações de diagnóstico adicionais para erros 823 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 deteta problemas de E/S não relatados devido a leituras obsoletas ou gravações perdidas.
Motivo
A mensagem de erro 823 geralmente indica que há um problema com o sistema de armazenamento subjacente ou com o hardware ou um driver que está no caminho da solicitação de E/S. Você pode 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á tentou novamente 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
Revise a tabela suspect_pages para
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 no comando DBCC CHECKDB, use as orientações de Como solucionar erros de consistência do banco de dados relatados pelo DBCC CHECKB.
Veja os Registos de eventos do Windows para saber se existem erros ou mensagens comunicados pelo Sistema Operativo ou um Dispositivo de Armazenamento ou Controlador 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 detetou um erro de controlador em \Device\Harddisk4\DR4" relatado pela fonte de disco no log de eventos. Nesse caso, tem de avaliar se este ficheiro está presente neste dispositivo e, em seguida, corrigir esses erros de disco em primeiro lugar.
Use o utilitário Use o SQLIOSim para simular a atividade do SQL Server em um utilitário de subsistema de disco para descobrir se esses erros 823 podem ser reproduzidos fora das solicitações de E/S regulares do SQL Server. O utilitário SQLIOSim é fornecido com o SQL Server 2008 e versões posteriores, portanto, não há necessidade de um download separado. Normalmente, pode encontrá-lo na sua
C:\Program Files\Microsoft SQL Server\MSSQLxx.MSSQLSERVER\MSSQL\Binnpasta.Trabalhe com o fornecedor de hardware ou fabricante do dispositivo 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 estão atualizados
Se o fornecedor de hardware ou o fabricante do dispositivo fornecer utilitários de diagnóstico, use-os para avaliar a integridade do sistema de E/S
Avalie se existem drivers de filtro no caminho dessas solicitações de E/S que encontram problemas.
- Verifique se existem atualizações para estes controladores de filtro
- Esses drivers de filtro podem ser removidos ou desativados para observar se o problema que resulta no erro 823 desaparece?