Sintoma:

Ao usar DBCC CHECKDB com REPAIR_ALLOW_DATA_LOSS parâmetro para reparar um banco de dados .MDF corrompido, como este:

DBCC CHECKDB (xxxx, 'REPAIR_ALLOW_DATA_LOSS')

você vê a seguinte mensagem de erro:

Msg 824, nível 24, estado 2, linha 2
SQL Server detectou um erro de E / S baseado em consistência lógica: pageid incorreto (esperado 1: 143; real 0:9). Ocorreu durante uma leitura da página (1: 143) no banco de dados ID 39 no deslocamento 0x0000000011e000 no arquivo 'C: Program FilesMicrosoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf '. Mensagens adicionais no SQL Server o log de erros ou o log de eventos do sistema podem fornecer mais detalhes. Esta é uma condição de erro grave 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). Esse erro pode ser causado por vários fatores; Para mais informações, veja SQL Server Livros online.
Msg 3313, nível 21, estado 1, linha 2
Durante o refazer de uma operação registrada no banco de dados 'Error1', ocorreu um erro na ID do registro de log (135: 752: 2). Normalmente, a falha específica é registrada anteriormente como um erro no serviço Log de Eventos do Windows. Restaure o banco de dados de um backup completo ou repare o banco de dados.
Msg 3414, nível 21, estado 1, linha 2
Ocorreu um erro durante a recuperação, impedindo o banco de dados 'Error1' (39: 0) de restarting. Diagnostique os erros de recuperação e corrija-os ou restaure a partir de um backup em bom estado. Se os erros não forem corrigidos ou esperados, entre em contato com o Suporte Técnico.
Msg 824, nível 24, estado 2, linha 2
SQL Server detectou um erro de E / S baseado em consistência lógica: pageid incorreto (esperado 1: 160; 0:41 real). Ocorreu durante uma leitura da página (1: 160) no banco de dados ID 39 no deslocamento 0x00000000140000 no arquivo 'C: Program FilesMicrosoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf '. Mensagens adicionais no SQL Server o log de erros ou o log de eventos do sistema podem fornecer mais detalhes. Esta é uma condição de erro grave 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). Esse erro pode ser causado por vários fatores; Para mais informações, veja SQL Server Livros online.
Msg 824, nível 24, estado 2, linha 4
SQL Server detectou um erro de E / S baseado em consistência lógica: pageid incorreto (esperado 1: 160; 0:41 real). Ocorreu durante uma leitura da página (1: 160) no banco de dados ID 39 no deslocamento 0x00000000140000 no arquivo 'C: Program FilesMicrosoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf '. Mensagens adicionais no SQL Server o log de erros ou o log de eventos do sistema podem fornecer mais detalhes. Esta é uma condição de erro grave 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). Esse erro pode ser causado por vários fatores; Para mais informações, veja SQL Server Livros online.

onde 'Error1' é o nome do banco de dados MDF corrompido que está sendo reparado.

Msg 3313 indica que uma operação de log não pode ser executada.

Captura de tela da mensagem de erro:

Explicação precisa:

Quando CHECKDB não puder realizar a operação registrada, ele relatará a mensagem de erro Msg 3313 e tente consertar os erros. Se não conseguir corrigir o erro, a recuperação falhará e levará a mais erros, como Msg 3414 e Msg 824.

Você pode usar nosso produto DataNumen SQL Recovery para recuperar os dados do arquivo MDF corrompido e resolver esse erro.

Arquivos de amostra:

Amostra de arquivos MDF corrompidos que causarão o Msg 3313 erro:

SQL Server versão Arquivo MDF corrompido Arquivo MDF corrigido por DataNumen SQL Recovery
SQL Server 2014 Error9.mdf Error9_fixed.mdf

Referências: