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:Program FilesMicrosoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf' ser ut til å ha blitt 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 hindret databasen 'Error1' (39:0) fra restarting. Diagnostiser gjenopprettingsfeilene og fiks dem, eller gjenopprett fra en kjent god sikkerhetskopi. Hvis feil ikke er rettet eller forventet, kontakt teknisk støtte.

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

Melding 5125 feil er verken en allokeringsfeil eller en konsistensfeil. Det oppstår når delen av halen til MDB-filen fjernes på grunn av datakorrupsjon.

Skjermbilde av feilmelding:

Nøyaktig forklaring:

Når delen av halen til MDB-filen er fjernet, SJEKKDB vil rapportere Melding 5125 feil og prøv å fikse den. Hvis databasen ikke kan fikses, vil den produsere Melding 3414 feil.

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

Eksempelfiler:

SQL Server versjon Korrupt MDF-fil MDF-fil fikset av DataNumen SQL Recovery
SQL Server 2014 Error8MDF Error8_fixed.mdf

Referanser: