Simptomai:

Bandant prijungti .MDF duomenų bazę SQL Server, matote šį klaidos pranešimą:

Nepavyko gauti šios užklausos duomenų. (Microsoft.SqlServer.Management.Sdk.Sfc)

Vykdant Transact-SQL sakinį arba paketą įvyko išimtis. (Microsoft.SqlServer.ConnectionInfo)

xxx.mdf nėra pirminis duomenų bazės failas. („Microsoft SQL Server, Klaida: 5171)

kur „xxx.mdf yra pridedamo MDF failo pavadinimas.

Klaidos pranešimo ekrano kopija:

Klaidos „Ne pagrindinis duomenų bazės failas“ ekrano kopija

Tikslus paaiškinimas:

Duomenys MDF faile saugomi kaip puslapiai, kiekvienas puslapis yra 8KB. Pirmasis puslapis vadinamas failo antraštės puslapiu, kuriame yra most svarbi informacija apie visą failą, pvz., failo parašas, failo dydis, suderinamumas ir kt. Likusiuose puslapiuose taip pat yra svarbi informacija, įskaitant puslapio paskirstymo informaciją ir tikruosius duomenis.

Jei MDF failo antraštės puslapis arba kiti svarbūs valdymo puslapiai yra pažeisti arba sugadinti ir Microsoft negali jų atpažinti SQL Server, Tada SQL Server manys, kad visas failas nėra tinkamas pirminės duomenų bazės failas ir praneš apie šią klaidą.

Galite naudoti mūsų gaminį DataNumen SQL Recovery Norėdami atkurti duomenis iš sugadinto MDF failo ir išspręsti šią klaidą.

Failų pavyzdžiai:

Sugadintų MDF failų, kurie sukels klaidą, pavyzdžiai:

SQL Server versija Sugadintas MDF failas MDF failas pataisytas DataNumen SQL Recovery
SQL Server 2005 Klaida1_1.mdf Klaida1_1_fixed.mdf
SQL Server 2008 R2 Klaida1_2.mdf Klaida1_2_fixed.mdf
SQL Server 2012 Klaida1_3.mdf Klaida1_3_fixed.mdf
SQL Server 2014 Klaida1_4.mdf Klaida1_4_fixed.mdf