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 der MDF-Datei werden als Seiten gespeichert, jede Seite ist 8 KB groß. Die erste Seite wird als Dateikopfseite bezeichnet, die das m enthältost wichtige Informationen über die gesamte Datei, wie z. B. die Dateisignatur, die Dateigröße, die Kompatibilität usw.

Wenn die Header-Seite der MDF-Datei beschädigt oder beschädigt ist und von Microsoft nicht erkannt werden kann SQL Server, 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 Error2_1_fixed.mdf
SQL Server 2008 R2 Fehler2_2.mdf Error2_2_fixed.mdf
SQL Server 2012 Fehler2_3.mdf Error2_3_fixed.mdf
SQL Server 2014 Fehler2_4.mdf Error2_4_fixed.mdf