Symptom:

Beim Versuch, eine .MDF-Datenbank in anzuhängen SQL Server, sehen Sie die folgende Fehlermeldung:

Daten für diese Anforderung konnten nicht abgerufen werden. (Microsoft.SqlServer.Management.Sdk.Sfc)

Beim Ausführen einer Transact-SQL-Anweisung oder eines Batch-Stapels ist eine Ausnahme aufgetreten. (Microsoft.SqlServer.ConnectionInfo)

xxx.mdf ist keine primäre Datenbankdatei. (Microsoft SQL Server, Fehler: 5171)

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 zur gesamten Datei, wie z. B. Dateisignatur, Dateigröße, Kompatibilität usw. Die verbleibenden Seiten enthalten auch wichtige Informationen, einschließlich der Informationen zur Seitenzuordnung sowie der tatsächlichen Daten.

Wenn die MDF-Datei-Headerseite oder andere wichtige Verwaltungsseiten beschädigt oder beschädigt sind und von Microsoft nicht erkannt werden können SQL Server, dann SQL Server Ich denke, die gesamte Datei ist keine gültige primäre Datenbankdatei 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 Fehler1_1.mdf Error1_1_fixed.mdf
SQL Server 2008 R2 Fehler1_2.mdf Error1_2_fixed.mdf
SQL Server 2012 Fehler1_3.mdf Error1_3_fixed.mdf
SQL Server 2014 Fehler1_4.mdf Error1_4_fixed.mdf