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:

Captura de pantalla do erro "Non é un ficheiro de base de datos principal"

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