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 5125, Nivå 24, Stat 2, Linje 2
Fil 'C: Programfiler Microsoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf 'ser ut til å være avkortet av operativsystemet. Forventet størrelse er 5120 KB, men faktisk størrelse er 5112 KB.
Msg 3414, Nivå 21, Stat 1, Linje 2
Det oppstod en feil under gjenoppretting som forhindret databasen 'Error1' (39: 0) fra restarting. Diagnostiser gjenopprettingsfeilene og fikse dem, eller gjenopprett fra en kjent sikkerhetskopi. Hvis feil ikke blir rettet eller forventet, kontakt teknisk support.

hvor 'Error1' er navnet på den korrupte MDF-databasen som repareres.

Msg 5125 feil er nabo en tildelingsfeil eller en konsistensfeil. Det oppstår når den delen av halen til MDB-filen fjernes på grunn av datakorrupsjon.

Skjermbilde av feilmelding:

Nøyaktig forklaring:

Når den delen av halen på MDB-filen er fjernet, CHECKDB vil rapportere Msg 5125 feil og prøv å fikse det. Hvis databasen ikke kan løses, vil den produsere Msg 3414 feil.

Faktisk kan databasen også gjenopprettes hvis du bruker produktet vårt DataNumen SQL Recovery å gjøre oppgaven.

Eksempel filer:

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

Referanser: