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 tildelingsfeil og 0 konsistensfeil i databasen 'xxxx'.
Msg 7909, Nivå 20, Stat 1, Linje 4
Reparasjonen i nødmodus mislyktes. Du må gjenopprette fra sikkerhetskopien.

der 'xxxx' er navnet på den korrupte MDF-databasen som repareres.

Msg 5028 feil er verken en allokeringsfeil eller en konsistensfeil.

Samtidig som Msg 7909 er en alvorlig feil som kan oppstå i mange situasjoner når som helst SQL Server tror databasen er utenfor utvinning.

Skjermbilde av feilmelding:

Nøyaktig forklaring:

Feilmeldingen (Msg 5028) ser ut til å være relatert til LOG-filen. Dette er imidlertid en feilrapport. 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.

Eksempel filer:

Eksempel på korrupte MDF-filer som vil forårsake Msg 5028 feil:

SQL Server versjon Korrupt MDF-fil MDF-fil løst av DataNumen SQL Recovery
SQL Server 2014 Feil3.mdf Feil3_fixed.mdf