Symptom:

Når du prøver å legge ved en .MDF-database i SQL Server, ser du følgende feilmelding:

Kunne ikke hente data for denne forespørselen. (Microsoft.SqlServer.Management.Sdk.Sfc)

Et unntak oppsto under kjøring av en Transact-SQL-setning eller batch. (Microsoft.SqlServer.ConnectionInfo)

xxx.mdf er ikke en primær databasefil. (Microsoft SQL Server, Feil: 5171)

der 'xxx.mdf er navnet på MDF-filen som skal legges ved.

Skjermbilde av feilmelding:

Skjermbilde av feilen "Ikke en primær databasefil"

Nøyaktig forklaring:

Dataene i MDF-filen lagres som sider, hver side er 8KB. Den første siden kalles filoverskriftssiden, som inneholder most viktig informasjon om hele filen, som filsignatur, filstørrelse, kompatibilitet osv. De resterende sidene inneholder også viktig informasjon, inkludert sidetildelingsinformasjonen samt de faktiske dataene.

Hvis MDF-filoverskriften eller andre viktige administrasjonssider er skadet eller ødelagt og ikke kan gjenkjennes av Microsoft SQL Server, deretter SQL Server vil tro at hele filen ikke er en gyldig primær databasefil og rapportere denne feilen.

Du kan bruke produktet vårt DataNumen SQL Recovery for å gjenopprette dataene fra den korrupte MDF-filen og løse denne feilen.

Eksempelfiler:

Eksempel på korrupte MDF-filer som vil forårsake feilen:

SQL Server versjon Korrupt MDF-fil MDF-fil fikset av DataNumen SQL Recovery
SQL Server 2005 Error1_1.mdf Error1_1_fixed.mdf
SQL Server 2008 RX Error1_2.mdf Error1_2_fixed.mdf
SQL Server 2012 Error1_3.mdf Error1_3_fixed.mdf
SQL Server 2014 Error1_4.mdf Error1_4_fixed.mdf