Síntoma:

Ao tentar conectar unha base de datos .MDF en SQL Server, ve a seguinte mensaxe de erro:

Non se puideron recuperar os datos desta solicitude. (Microsoft.SqlServer.Management.Sdk.Sfc)

Produciuse unha excepción ao executar unha instrución ou 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 adxuntará.

Captura de pantalla da mensaxe de erro:

Explicación precisa:

Os datos do ficheiro MDF almacénanse como páxinas, cada páxina ten 8 KB. A primeira páxina chámase páxina de cabeceira de 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.

Se a páxina de cabeceira do ficheiro MDF ou outras páxinas de xestión importantes están danadas ou corrompidas e non poden ser recoñecidas por Microsoft SQL Server, Entón SQL Server pensará que todo o ficheiro non é un ficheiro de base de datos primario 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 causarán o erro:

SQL Server versión Ficheiro MDF corrupto 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