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 5028, Level 16, State 4, Line 4
Het systeem kon niet genoeg van de database activeren om het logboek opnieuw op te bouwen.
DBCC-resultaten voor 'xxxx'.
CHECKDB vond 0 allocatiefouten en 0 consistentiefouten in database 'xxxx'.
Msg 7909, Level 20, State 1, Line 4
De reparatie van de noodmodus is mislukt. U moet herstellen vanaf een back-up.
waarbij 'xxxx' de naam is van de corrupte MDF-database die wordt gerepareerd.
Bericht 5028 fout is noch een toewijzingsfout, noch een consistentiefout.
Terwijl Bericht 7909 is een ernstige fout die in veel situaties kan optreden SQL Server denk dat de database niet meer te herstellen is.
Screenshot van foutmelding:
Nauwkeurige uitleg:
De foutmelding (Bericht 5028) lijkt verband te houden met het LOG-bestand. Dit is echter een verkeerd rapport. Het eigenlijke probleem wordt nog steeds veroorzaakt door de corruptie van de MDF-database.
U kunt ons product gebruiken DataNumen SQL Recovery om de gegevens van het corrupte MDF-bestand te herstellen en deze fout op te lossen.
Voorbeeldbestanden:
Voorbeeld van corrupte MDF-bestanden die de Bericht 5028 fout:
SQL Server versie | Beschadigd MDF-bestand | MDF-bestand opgelost door DataNumen SQL Recovery |
SQL Server 2014 | Fout3.mdf | Fout3_fixed.mdf |