Symptom:

Beim Benutzen DBCC-CHECKDB mit REPAIR_ALLOW_DATA_LOSS Parameter zum Reparieren einer beschädigten .MDF-Datenbank wie folgt:

DBCC CHECKDB (xxxx, 'REPAIR_ALLOW_DATA_LOSS')

Sie sehen die folgende Fehlermeldung:

Nachricht 5125, Ebene 24, Status 2, Zeile 2
Datei 'C: ProgrammdateienMicrosoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf 'scheint vom Betriebssystem abgeschnitten worden zu sein. Die erwartete Größe beträgt 5120 KB, die tatsächliche Größe jedoch 5112 KB.
Nachricht 3414, Ebene 21, Status 1, Zeile 2
Während der Wiederherstellung ist ein Fehler aufgetreten, der verhindert, dass die Datenbank 'Error1' (39: 0) restarting. Diagnostizieren Sie die Wiederherstellungsfehler und beheben Sie sie oder stellen Sie sie von einem bekanntermaßen guten Backup wieder her. Wenn Fehler nicht behoben oder erwartet werden, wenden Sie sich an den technischen Support.

Dabei ist 'Fehler1' der Name der beschädigten MDF-Datenbank, die repariert wird.

Nachricht 5125 Fehler ist weder ein Zuordnungsfehler noch ein Konsistenzfehler. Es tritt auf, wenn der Teil des Endes der MDB-Datei aufgrund einer Datenbeschädigung entfernt wird.

Screenshot der Fehlermeldung:

Genaue Erklärung:

Wenn der Teil des Endes der MDB-Datei entfernt wird, CHECKDB werde melden Nachricht 5125 Fehler und versuchen Sie es zu beheben. Wenn die Datenbank nicht repariert werden kann, wird sie erstellt Nachricht 3414 Fehler.

Tatsächlich kann die Datenbank auch wiederhergestellt werden, wenn unser Produkt verwendet wird DataNumen SQL Recovery die Aufgabe zu erledigen.

Beispieldateien:

SQL Server Version Beschädigte MDF-Datei MDF-Datei behoben durch DataNumen SQL Recovery
SQL Server 2014 Fehler 8.mdf Fehler 8_fixed.mdf

References: