Simptomai:

Naudojant DBCC CHECKDB su REPAIR_ALLOW_DATA_LOSS parametras, skirtas taisyti sugadintą .MDF duomenų bazę, pavyzdžiui:

DBCC CHECKDB (xxxx, 'REPAIR_ALLOW_DATA_LOSS')

matote šį klaidos pranešimą:

Msg 5028, 16 lygis, 4 būsena, 4 eilutė
Sistema negalėjo suaktyvinti pakankamai duomenų bazės, kad būtų galima atkurti žurnalą.
DBCC rezultatai užklausai „xxxx“.
CHECKDB duomenų bazėje „xxxx“ aptiko 0 paskirstymo klaidų ir 0 nuoseklumo klaidų.
Msg 7909, 20 lygis, 1 būsena, 4 eilutė
Nepavyko taisyti avarinio režimo. Turite atkurti iš atsarginės kopijos.

kur „xxxx“ yra taisomos sugadintos MDF duomenų bazės pavadinimas.

P. 5028 klaida nėra nei paskirstymo, nei nuoseklumo klaida.

O P. 7909 yra rimta klaida, kuri gali įvykti daugelyje situacijų SQL Server manote, kad duomenų bazės negalima atkurti.

Klaidos pranešimo ekrano kopija:

Tikslus paaiškinimas:

Klaidos pranešimas (P. 5028) atrodo susijęs su LOG ​​failu. Tačiau tai klaidinga ataskaita. Tikroji problema vis dar kyla dėl MDF duomenų bazės sugadinimo.

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:

Paimkite sugadintų MDF failų pavyzdžius, kurie sukels P. 5028 klaida:

SQL Server versija Sugadintas MDF failas MDF failas pataisytas DataNumen SQL Recovery
SQL Server 2014 Klaida3.mdf Error3_fixed.mdf