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:
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 |