Symptoom:

Tijdens gebruik DBCC CONTROLEERDB met REPAIR_ALLOW_DATA_LOSS parameter om een ​​corrupte .MDF-database te repareren, zoals deze:

DBCC CHECKDB (xxxx, 'REPAIR_ALLOW_DATA_LOSS')

je ziet de volgende foutmelding:

Msg 5125, Level 24, State 2, Line 2
Bestand 'C: Program FilesMicrosoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf 'lijkt te zijn afgekapt door het besturingssysteem. De verwachte grootte is 5120 KB, maar de werkelijke grootte is 5112 KB.
Msg 3414, Level 21, State 1, Line 2
Er is een fout opgetreden tijdens het herstel, waardoor de database 'Error1' (39: 0) niet kan worden gerestarting. Stel de herstelfouten vast en los ze op, of herstel vanaf een bekende goede back-up. Als fouten niet worden gecorrigeerd of verwacht, neem dan contact op met de technische ondersteuning.

waarbij 'Error1' de naam is van de corrupte MDF-database die wordt gerepareerd.

Bericht 5125 fout is niet een toewijzingsfout of een consistentiefout. Het treedt op wanneer het deel van de staart van het MDB-bestand wordt verwijderd vanwege gegevensbeschadiging.

Screenshot van foutmelding:

Nauwkeurige uitleg:

Wanneer het deel van de staart van het MDB-bestand wordt verwijderd, CHECKDB zal rapporteren Bericht 5125 fout en probeer het op te lossen. Als de database niet kan worden hersteld, zal deze produceren Bericht 3414 fout.

Eigenlijk kan de database ook worden hersteld als u ons product gebruikt DataNumen SQL Recovery gebruiken om de taak uit te voeren.

Voorbeeldbestanden:

SQL Server versie Beschadigd MDF-bestand MDF-bestand opgelost door DataNumen SQL Recovery
SQL Server 2014 Error8.mdf Error8_vast.mdf

Referenties: