Sintoma:
Ao tentar anexar um banco de dados .MDF em SQL Server, você verá 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 em um arquivo MDF são armazenados como páginas, com cada página tendo 8 KB de tamanho. A primeira página, chamada de página de cabeçalho do arquivo, contém o most informações importantes sobre o arquivo inteiro, incluindo a assinatura do arquivo, tamanho, compatibilidade e outros detalhes essenciais.
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 reportará este erro.
Você pode usar nosso produto DataNumen SQL Recovery para recuperar os dados do arquivo MDF corrompido e resolver este erro.
Arquivos de amostra:
Exemplo 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 | Erro2_1.mdf | Erro2_1_fixed.mdf |
SQL Server 2008 R2 | Erro2_2.mdf | Erro2_2_fixed.mdf |
SQL Server 2012 | Erro2_3.mdf | Erro2_3_fixed.mdf |
SQL Server 2014 | Erro2_4.mdf | Erro2_4_fixed.mdf |