Symptom:
Når du bruker DBCC CHECKDB med REPAIR_ALLOW_DATA_LOSS parameter for å reparere en korrupt .MDF-database, slik:
DBCC CHECKDB(xxxx, 'REPAIR_ALLOW_DATA_LOSS')
du ser følgende feilmelding:
Msg 5028, Nivå 16, Stat 4, Linje 4
Systemet kunne ikke aktivere nok av databasen til å gjenoppbygge loggen.
DBCC-resultater for 'xxxx'.
CHECKDB fant 0 allokeringsfeil og 0 konsistensfeil i databasen 'xxxx'.
Msg 7909, Nivå 20, Stat 1, Linje 4
Reparasjonen i nødmodus mislyktes. Du må gjenopprette fra sikkerhetskopi.
der 'xxxx' er navnet på den korrupte MDF-databasen som repareres.
Melding 5028 feil er verken en allokeringsfeil eller en konsistensfeil.
Samtidig som Melding 7909 er en alvorlig feil som kan oppstå i mange situasjoner når som helst SQL Server tror databasen er utenfor gjenoppretting.
Skjermbilde av feilmelding:
Nøyaktig forklaring:
Feilmeldingen (Melding 5028) ser ut til å være relatert til LOG-filen. Dette er imidlertid en feilrapportering. Det faktiske problemet er fortsatt forårsaket av korrupsjon av MDF-databasen.
Du kan bruke produktet vårt DataNumen SQL Recovery for å gjenopprette dataene fra den korrupte MDF-filen og løse denne feilen.
Eksempelfiler:
Eksempel på korrupte MDF-filer som vil forårsake Melding 5028 feil:
SQL Server versjon | Korrupt MDF-fil | MDF-fil fikset av DataNumen SQL Recovery |
SQL Server 2014 | Feil3.mdf | Error3_fixed.mdf |