Ao usar o Microsoft SQL Server para anexar ou acessar um arquivo de banco de dados MDF corrompido, você pode encontrar uma variedade de mensagens de erro que podem ser confusas. Abaixo, listaremos todos os erros, classificados por frequência. Para cada erro, descreveremos seus sintomas, explicaremos a causa exata e forneceremos arquivos de amostra junto com os arquivos corrigidos por DataNumen SQL Recovery. Isso ajudará você a entender melhor esses erros. Observação 'xxx.MDF' representará o nome do seu arquivo corrompido SQL Server Arquivo de banco de dados MDF.
Com base no SQL Server ou mensagens de erro CHECKDB, existem três tipos de erros:
-
- Erros de alocação: Sabemos que os dados em arquivos MDF e NDF são alocados como páginas. E existem algumas páginas especiais que são utilizadas para o gerenciamento de alocação, como segue:
Tipo de Página | Descrição |
Página GAM | Armazene as informações do mapa de alocação global (GAM). |
Página SGAM | Armazene informações compartilhadas do mapa de alocação global (SGAM). |
Página IAM | Armazene as informações do mapa de alocação de índice (IAM). |
Página PFS | Armazene informações de alocação de PFS. |
Se alguma das páginas de alocação acima tiver erros ou os dados gerenciados por essas páginas de alocação forem inconsistentes com as informações de alocação, então SQL Server ou CHECKDB irá relatar erros de alocação.
- Erros de consistência: Para a páginas que são usados para armazenar dados, incluindo as páginas de dados e páginas de índice, se SQL Server ou CHECKDB encontrar qualquer inconsistência entre o conteúdo da página e a soma de verificação, eles relatarão erros de consistência.
- Todos os outros erros: Pode haver outros erros que não se enquadram nas duas categorias acima.
- xxxx.mdf não é um arquivo de banco de dados principal. (Microsoft SQL Server, Erro: 5171)
- O cabeçalho do arquivo 'xxxx.mdf' não é um cabeçalho de arquivo de banco de dados válido. A propriedade FILE SIZE está incorreta.(Microsoft SQL Server, Erro: 5172)
- SQL Server detectou um erro de E/S baseado em consistência lógica: soma de verificação incorreta
- SQL Server detectou um erro de E/S baseado em consistência lógica: página rasgada
- Você exclui alguns registros ou algumas tabelas no banco de dados por engano.
SQL Server tem uma ferramenta interna chamada DBCC, Que possui CHECKDB e TABELA DE VERIFICAÇÃO opções que podem ajudar a reparar um banco de dados MDF corrompido. No entanto, para arquivos de banco de dados MDB severamente danificados, DBCC CHECKDB e TABELA DE VERIFICAÇÃO também falhará.
Erros de consistência relatados pelo CHECKDB:
- SQL Server detectou um erro de E/S baseado em consistência lógica: soma de verificação incorreta
- A linha em sys.xxx não possui uma linha correspondente em sys.xxx.
- Erro de tabela: ID do objeto ##, ID do índice ## serão reconstruídos.
- Este índice da tabela do sistema não pode ser recriado.
- ID do objeto ##, ID do índice ##, ID da partição ##, ID da unidade de alocação ## (tipo desconhecido), ID da página (##:560) contém um ID de página incorreto no cabeçalho da página.
Erros de alocação relatados pelo CHECKDB:
- A página Index Allocation Map (IAM) é apontada pelo próximo ponteiro da página IAM
- A extensão (##:##) no ID do banco de dados ## está marcada como alocada no GAM, mas nenhum SGAM ou IAM a alocou.
Todos os outros erros relatados pelo CHECKDB:
- Falha:(-#######) A execução da consulta “DBCC CHECKDB(xxxx) WITH NO_INFOMSGS” falhou com o seguinte erro: “xxxx”.
- Erro de E/S (ID de página incorreto) detectado durante a leitura no deslocamento 0x###### no arquivo 'xxxx.mdf'.
- O sistema não pôde ativar o banco de dados suficiente para reconstruir o registro
- Perda de dados ao reparar com CHECKDB
- O arquivo parece ter sido truncado pelo sistema operacional.
- Ao refazer uma operação registrada no banco de dados 'xxxx', ocorreu um erro no ID do registro de log.