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