Symptom:
Beim Versuch, eine .MDF-Datenbank in anzuhängen SQL Server, sehen Sie die folgende Fehlermeldung:
Das Anhängen der Datenbank ist für Server 'xxx' fehlgeschlagen. (Microsoft.SqlServer.Smo)
Beim Ausführen einer Transact-SQL-Anweisung oder eines Batch-Stapels ist eine Ausnahme aufgetreten. (Microsoft.SqlServer.ConnectionInfo)
Der Header für die Datei 'xxx.mdf' ist kein gültiger Header für Datenbankdateien. Die Eigenschaft FILE SIZE ist falsch. (Micosoft SQL Server, Fehler: 5172)
Dabei ist 'xxx.mdf' der Name der MDF-Datei, die angehängt werden soll.
Screenshot der Fehlermeldung:
Genaue Erklärung:
Die Daten in einer MDF-Datei werden als Seiten gespeichert, wobei jede Seite 8 KB groß ist. Die erste Seite, Dateikopfseite genannt, enthält die most Wichtige Informationen zur gesamten Datei, einschließlich Dateisignatur, Größe, Kompatibilität usw weitere wesentliche Details.
Wenn die Header-Seite der MDF-Datei beschädigt oder beschädigt ist und von Microsoft nicht erkannt werden kann SQL Server und dann SQL Server Ich denke, der Header ist ungültig und meldet diesen Fehler.
Sie können unser Produkt verwenden DataNumen SQL Recovery um die Daten aus der beschädigten MDF-Datei wiederherzustellen und diesen Fehler zu beheben.
Beispieldateien:
Beispiel für beschädigte MDF-Dateien, die den Fehler verursachen:
SQL Server Version | Beschädigte MDF-Datei | MDF-Datei behoben durch DataNumen SQL Recovery |
SQL Server 2005 | Fehler2_1.mdf | Fehler2_1_fixed.mdf |
SQL Server 2008 R2 | Fehler2_2.mdf | Fehler2_2_fixed.mdf |
SQL Server 2012 | Fehler2_3.mdf | Fehler2_3_fixed.mdf |
SQL Server 2014 | Fehler2_4.mdf | Fehler2_4_fixed.mdf |