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