Síntoma:
Cando se tenta anexar unha base de datos .MDF en SQL Server, ves a seguinte mensaxe de erro:
Produciuse un erro ao recuperar os datos desta solicitude. (Microsoft.SqlServer.Management.Sdk.Sfc)
Produciuse unha excepción ao executar unha instrución ou un lote Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)
xxx.mdf non é un ficheiro de base de datos principal. (Microsoft SQL Server, Erro: 5171)
onde 'xxx.mdf é o nome do ficheiro MDF que se vai anexar.
Captura de pantalla da mensaxe de erro:
Explicación precisa:
Os datos do ficheiro MDF gárdanse como páxinas, cada páxina ten 8 KB. A primeira páxina chámase páxina de cabeceira do ficheiro, que contén o most información importante sobre todo o ficheiro, como a sinatura do ficheiro, o tamaño do ficheiro, a compatibilidade, etc. As páxinas restantes tamén conteñen a información importante, incluíndo a información de asignación de páxinas e os datos reais.
Se a páxina de cabeceira do ficheiro MDF ou outras páxinas de xestión importantes están danadas ou danadas e Microsoft non pode recoñecer SQL Server, Entón SQL Server pensará que todo o ficheiro non é un ficheiro de base de datos principal válido e informará deste erro.
Podes usar o noso produto DataNumen SQL Recovery para recuperar os datos do ficheiro MDF corrupto e resolver este erro.
Ficheiros de mostra:
Mostra ficheiros MDF corruptos que provocarán o erro:
SQL Server versión | Ficheiro MDF danado | Arquivo MDF corrixido por DataNumen SQL Recovery |
SQL Server 2005 | Erro1_1.mdf | Erro1_1_fixed.mdf |
SQL Server 2008 R2 | Erro1_2.mdf | Erro1_2_fixed.mdf |
SQL Server 2012 | Erro1_3.mdf | Erro1_3_fixed.mdf |
SQL Server 2014 | Erro1_4.mdf | Erro1_4_fixed.mdf |