Simptomai:
Pridedant .MDF duomenų bazę SQL Server, matote šį klaidos pranešimą:
SQL Server aptiko loginiu nuoseklumu pagrįstą įvesties / išvesties klaidą: suplėšytas puslapis (tikėtinas parašas: 0x########; tikrasis parašas: 0x########). Tai įvyko nuskaitant puslapį (#:#) duomenų bazės ID #, esant poslinkiui ### faile "xxxx.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.
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. SQL Server naudoja du mechanizmus, kad užtikrintų duomenų nuoseklumą ir integravimą puslapyje, ty kontrolinę sumą arba suplėšytą puslapį. Abu yra neprivalomi.
If SQL Server nustato, kad kai kurių duomenų puslapių suplėšyti puslapiai yra neteisingi, 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 | Klaida5_1.mdf | Klaida5_1_fixed.mdf |
SQL Server 2008 R2 | Klaida5_2.mdf | Klaida5_2_fixed.mdf |
SQL Server 2012 | Klaida5_3.mdf | Klaida5_3_fixed.mdf |
SQL Server 2014 | Klaida5_4.mdf | Klaida5_4_fixed.mdf |