Simptomai:
Naudojant DBCC CHECKDB su REPAIR_ALLOW_DATA_LOSS parametras sugadintai .MDF duomenų bazei taisyti, kaip šis:
DBCC CHECKDB (xxxx, 'REPAIR_ALLOW_DATA_LOSS')
matote šį klaidos pranešimą:
DBCC rezultatai pagal „xxxx“.
CHECKDB duomenų bazėje „xxxx“ rado 0 paskirstymo klaidų ir 0 nuoseklumo klaidų.
Msg 824, 24 lygis, 2 būsena, 8 eilutė
SQL Server aptikta logiška nuoseklumu pagrįsta įvesties / išvesties klaida: neteisinga kontrolinė suma (tikėtasi: 0xea8a9a2f; faktinė: 0x37adbff8). Tai įvyko skaitant puslapį (1:28) duomenų bazės ID 39, 0x00000000038000 failo „xxxx.mdf“ poslinkyje. Papildomi pranešimai SQL Server klaidų žurnale arba sistemos įvykių žurnale gali būti pateikta daugiau informacijos. Tai yra rimta klaidos būklė, kelianti grėsmę duomenų bazės vientisumui ir ją reikia nedelsiant ištaisyti. Atlikite išsamų duomenų bazės nuoseklumo patikrinimą (DBCC CHECKDB). Šią klaidą gali sukelti daugybė veiksnių; daugiau informacijos žr SQL Server Knygos internete.
kur „xxxx.mdf“ yra sugadinto MDF failo, kuris yra taisomas, pavadinimas. Nors CHECKDB sako
CHECKDB duomenų bazėje „xxxx“ rado 0 paskirstymo klaidų ir 0 nuoseklumo klaidų.
Tai vis dar yra nuoseklumo klaida (P. 824) duomenų bazėje.
Klaidos pranešimo ekrano kopija:
Jei korupcija yra rimta, bus nuolat rodomi klaidų pranešimai (P. 824), kaip nurodyta žemiau:
Msg 824, 24 lygis, 6 būsena, 2 eilutė SQL Server aptikta logiška nuoseklumu pagrįsta įvesties / išvesties klaida: neteisinga kontrolinė suma (tikėtasi: 0x3d17dfef; tikrasis: 0xd81748ef). Tai įvyko skaitant duomenų bazės ID 1 puslapį (0: 39) 0000000000000000 faile „xxxx.mdf“. Papildomi pranešimai SQL Server klaidų žurnale arba sistemos įvykių žurnale gali būti pateikta daugiau informacijos. Tai yra rimta klaidos būklė, kelianti grėsmę duomenų bazės vientisumui ir ją reikia nedelsiant ištaisyti. Atlikite išsamų duomenų bazės nuoseklumo patikrinimą (DBCC CHECKDB). Šią klaidą gali sukelti daugybė veiksnių; daugiau informacijos žr SQL Server Knygos internete.
Msg 824, 24 lygis, 6 būsena, 4 eilutė SQL Server aptikta logiška nuoseklumu pagrįsta įvesties / išvesties klaida: neteisinga kontrolinė suma (tikėtasi: 0x3d17dfef; tikrasis: 0xd81748ef). Tai įvyko skaitant duomenų bazės ID 1 puslapį (0: 39) 0000000000000000 faile „xxxx.mdf“. Papildomi pranešimai SQL Server klaidų žurnale arba sistemos įvykių žurnale gali būti pateikta daugiau informacijos. Tai yra rimta klaidos būklė, kelianti grėsmę duomenų bazės vientisumui ir ją reikia nedelsiant ištaisyti. Atlikite išsamų duomenų bazės nuoseklumo patikrinimą (DBCC CHECKDB). Šią klaidą gali sukelti daugybė veiksnių; daugiau informacijos žr SQL Server Knygos internete.
kur „xxxx.mdf“ yra sugadinto MDF failo, kuris yra taisomas, pavadinimas.
Klaidos pranešimo ekrano kopija:
Jei korupcija yra sunkesnė, galite pamatyti P. 7909 taip P. 824:
DBCC rezultatai pagal „xxxx“.
CHECKDB duomenų bazėje „xxxx“ rado 0 paskirstymo klaidų ir 0 nuoseklumo klaidų.
Msg 824, 24 lygis, 2 būsena, 8 eilutė
SQL Server aptikta logiška nuoseklumu pagrįsta įvesties / išvesties klaida: neteisinga kontrolinė suma (tikėtasi: 0xcfcd2118; tikroji: 0x6fc599d6). Tai įvyko skaitant puslapį (1: 1) duomenų bazės ID 39, 0x00000000002000 faile „xxxx.mdf“. Papildomi pranešimai SQL Server klaidų žurnale arba sistemos įvykių žurnale gali būti pateikta daugiau informacijos. Tai yra rimta klaidos būklė, kelianti grėsmę duomenų bazės vientisumui ir ją reikia nedelsiant ištaisyti. Atlikite išsamų duomenų bazės nuoseklumo patikrinimą (DBCC CHECKDB). Šią klaidą gali sukelti daugybė veiksnių; daugiau informacijos žr SQL Server Knygos internete.
Msg 7909, 20 lygis, 1 būsena, 8 eilutė
Nepavyko ištaisyti avarinio režimo. Turite atkurti iš atsarginės kopijos.
kur „xxxx“ yra duomenų bazės pavadinimas, o „xxxx.mdf“ - duomenų bazės fizinio failo pavadinimas.
pastabos P. 7909 yra rimta klaida, kuri gali pasitaikyti daugeliu atvejų SQL Server manau, kad duomenų bazės negalima atkurti.
Klaidos pranešimo ekrano kopija:
Tikslus paaiškinimas:
Duomenys MDF faile saugomi kaip 8 KB puslapiai. Kiekviename puslapyje yra pasirinktinis kontrolinės sumos laukas.
Jei DBCC CHECKDB komandoje antraštės puslapyje, PFS puslapyje ir kai kuriuose duomenų puslapiuose yra neteisingos kontrolinės sumos vertės ir ji negali išspręsti problemos, ji praneš apie šią klaidą (P. 824). Jei koruptonas yra sunkus, gali būti nuolatinės erozijos (P. 824) arba po kitos klaidos (P. 7909).
Galite naudoti mūsų produktą DataNumen SQL Recovery atkurti duomenis iš sugadinto MDF failo ir išspręsti šią klaidą.
Failų pavyzdžiai:
Sugadintų MDF failų, kurie sukels klaidą, pavyzdžiai („Single Msg 824“ klaida):
SQL Server versija | Sugadintas MDF failas | MDF failą ištaisė DataNumen SQL Recovery |
SQL Server 2014 | Klaida1_3.mdf | Klaida1_3_fixed.mdf |
Sugadintų MDF failų, kurie sukels klaidą, pavyzdžiai (Nuolatinės „Msg 824“ klaidos):
SQL Server versija | Sugadintas MDF failas | MDF failą ištaisė DataNumen SQL Recovery |
SQL Server 2014 | Klaida1_1.mdf | Klaida1_1_fixed.mdf |
Sugadintų MDF failų, kurie sukels klaidą, pavyzdžiai („Msg 824“ klaida ir „Msg 7909“ klaida):
SQL Server versija | Sugadintas MDF failas | MDF failą ištaisė DataNumen SQL Recovery |
SQL Server 2014 | Klaida1_2.mdf | Klaida1_2_fixed.mdf |