Simptomai:
Pridedant .MDF duomenų bazę SQL Server, matote šį klaidos pranešimą:
SQL Server aptiko loginiu nuoseklumu pagrįstą įvesties / išvesties klaidą: neteisinga kontrolinė suma (tikėtasi: 0x2abc3894; faktinė: 0x2ebe208e). Tai įvyko nuskaitant puslapį (1:1) duomenų bazės ID 12, esant poslinkiui 0x00000000002000 faile „xxx.mdf“. Papildomi pranešimai SQL Server klaidų žurnalas arba sistemos įvykių žurnalas gali pateikti daugiau informacijos. Tai rimta klaida, kelianti grėsmę duomenų bazės vientisumui ir turi būti nedelsiant ištaisyta. Užbaikite visą duomenų bazės nuoseklumo patikrinimą (DBCC CHECKDB). Šią klaidą gali sukelti daug veiksnių; Norėdami gauti daugiau informacijos, žr SQL Server Knygos internete (Microsoft SQL Server, Klaida:824)
kur „xxx.mdf“ yra pasiekiamo MDF failo pavadinimas.
Kartais .MDF duomenų bazė gali būti sėkmingai prijungta. Tačiau kai bandote vykdyti SQL sakinį, pvz
SELECT * FROM [TestDB].[dbo].[test_table_1]
taip pat gausite aukščiau pateiktą klaidos pranešimą.
Klaidos pranešimo ekrano kopija:
Tikslus paaiškinimas:
Duomenys MDF faile saugomi kaip puslapiai, kiekvienas puslapis yra 8KB. Kiekviename puslapyje yra pasirenkamas kontrolinės sumos laukas.
If SQL Server nustato, kad kai kurių duomenų puslapių kontrolinės sumos reikšmės yra neteisingos, ji 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 | Klaida4_1.mdf | Klaida4_1_fixed.mdf |
SQL Server 2008 R2 | Klaida4_2.mdf | Klaida4_2_fixed.mdf |
SQL Server 2012 | Klaida4_3.mdf | Klaida4_3_fixed.mdf |
SQL Server 2014 | Klaida4_4.mdf | Klaida4_4_fixed.mdf |