Sintoma:
Ao tentar anexar um banco de dados .MDF em SQL Server, você vê a seguinte mensagem de erro:
Falha ao anexar banco de dados para o servidor 'xxx'. (Microsoft.SqlServer.Smo)
Ocorreu uma exceção ao executar uma instrução Transact-SQL ou lote. (Microsoft.SqlServer.ConnectionInfo)
O cabeçalho do arquivo 'xxx.mdf' não é um cabeçalho de arquivo de banco de dados válido. A propriedade FILE SIZE está incorreta. (Micosoft SQL Server, Erro: 5172)
onde 'xxx.mdf' é o nome do arquivo MDF a ser anexado.
Captura de tela da mensagem de erro:
Explicação precisa:
Os dados no arquivo MDF são armazenados como páginas, cada página tem 8 KB. A primeira página é chamada de página de cabeçalho do arquivo, que contém o most informações importantes sobre todo o arquivo, como assinatura do arquivo, tamanho do arquivo, compatibilidade, etc.
Se a página de cabeçalho do arquivo MDF estiver danificada ou corrompida e não puder ser reconhecida pela Microsoft SQL Server, Em seguida SQL Server pensará que o cabeçalho não é válido e relatará esse erro.
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 erro:
SQL Server versão | Arquivo MDF corrompido | Arquivo MDF corrigido por DataNumen SQL Recovery |
SQL Server 2005 | Error2_1.mdf | Error2_1_fixed.mdf |
SQL Server 2008 R2 | Error2_2.mdf | Error2_2_fixed.mdf |
SQL Server 2012 | Error2_3.mdf | Error2_3_fixed.mdf |
SQL Server 2014 | Error2_4.mdf | Error2_4_fixed.mdf |