Symptom:

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

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

Et unntak skjedde 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:

Nøyaktig forklaring:

Dataene i MDF-filen er lagret som sider, hver side er 8 KB. Den første siden heter filhode-siden, som inneholder most viktig informasjon om hele filen, for eksempel filsignaturen, filstørrelse, kompatibilitet, etc. De resterende sidene inneholder også viktig informasjon, inkludert informasjon om sidetildeling samt faktiske data.

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.

Eksempel filer:

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

SQL Server versjon Korrupt MDF-fil MDF-fil løst av DataNumen SQL Recovery
SQL Server 2005 Feil1_1.mdf Feil1_1_fixed.mdf
SQL Server 2008 RX Feil1_2.mdf Feil1_2_fixed.mdf
SQL Server 2012 Feil1_3.mdf Feil1_3_fixed.mdf
SQL Server 2014 Feil1_4.mdf Feil1_4_fixed.mdf