Reparieren einer beschädigten MDF-Datei einer SQL Server-Datenbank

Summary: Dieser Blog beschreibt mögliche Gründe für die Beschädigung der MDF-Datei einer SQL Server-Datenbank. Er beschreibt auch den manuellen Prozess der Reparatur einer beschädigten SQL Server-Datenbank-MDF-Datei, die mit dem manuellen Prozess verbundenen Herausforderungen und die beste Alternative zur Überwindung dieser Herausforderungen.

MDF ist die primäre Datendatei der SQL Server-Datenbank, in der alle Daten gespeichert werden, einschließlich Komponenten wie Indizes, XML-Indizes, Ansichten, Tabellen, Trigger und gespeicherte Prozeduren. Sie wird auch als die Haupt- oder Master-Datenbankdatei des SQL Servers bezeichnet. Jede SQL Server-Datenbank enthält mindestens eine MDF-Datei.

Die MDF-Datei kann als das Hauptelement für die Verwaltung der SQL-Datenbank bezeichnet werden.

Verschiedene Gründe führen zur Beschädigung Ihrer SQL Server-Datenbankdatei (.mdf). Wenn dies geschieht, wird die Datenbank unzugänglich und kann zu einem möglichen Datenverlust führen, wenn die Datei nicht rechtzeitig repariert wird.

Bevor wir verschiedene Lösungen zur Reparatur einer MDF-Datei erörtern, lassen Sie uns einen Blick auf einige der häufigsten Gründe werfen, die zur Beschädigung einer SQL-Datenbankdatei führen können.

Schnelle Lösung: Wenn Sie den Verlust von Daten nicht riskieren wollen, verwenden Sie Stellar Repair for MS SQL, um die beschädigte MDF-Datei zu reparieren und alle Objekte wiederherzustellen, ohne die Datenbank zu beschädigen. Die Software ist mit MS SQL Server 2019, 2017, 2016, 2014, 2012, 2008, 2008 R2 und älteren Versionen kompatibel.

Mögliche Ursachen für eine Beschädigung der MDF-Datei

Im Folgenden finden Sie einige häufige Gründe, die zu einer beschädigten MDF-Datei in SQL Server führen können:

Wie kann ich MDF-Dateien reparieren?

Microsoft SQL Server bietet einen eingebauten Datenbankkonsolenbefehl CHECKDB (DBCC CHECKDB), mit dem Sie die physische und logische Integrität von db-Objekten testen können, indem Sie die folgenden Operationen nacheinander ausführen:

Hinweis: Weitere Informationen finden Sie in der Beschreibung der oben genannten DBCC-Befehle.

DBCC CHECKDB prüft die Konsistenz von db pages und andere strukturelle Prüfungen. Anschließend meldet es alle Fehler.

Wenn DBCC CHECKDB Konsistenzfehler in der Datenbank meldet, versuchen Sie, die Datenbank von einer bekanntermaßen guten Sicherungskopie wiederherzustellen. Wenn die Sicherungskopie jedoch nicht verfügbar ist oder nicht die aktuellste ist, bietet CHECKDB mehrere Reparaturoptionen, um eine beschädigte MDF-Datei in SQL Server zu reparieren.

Lesen Sie dies: SQL-Datenbank mit dem Befehl DBCC CHECKDB reparieren

Die Reparaturmöglichkeiten sind wie folgt:

DBCC CHECKDB (‘DB-Name’, REPAIR_FAST)

DBCC CHECKDB (‘DB-Name’, REPAIR_REBUILD)

Hinweis: Diese Funktion (REPAIR_REBUILD) behebt keine Fehler, die FILESTREAM-Daten enthalten.

DBCC CHECKDB (‘DB Name’, REPAIR_ALLOW_DATA_LOSS)

Hinweis: Als Alternative zu DBCC CHECKDB können Sie die Option Repair_Allow_Data_Loss verwenden, um die beschädigte MDF-Datei ohne Datenverlust zu reparieren.

Was Sie bei der Verwendung der DBCC CHECKDB-Reparaturoptionen beachten sollten

Wenn Sie die DBCC CHECKDB-Reparaturoptionen verwenden, beachten Sie die folgenden Anforderungen:

  1. Die erste und wichtigste Voraussetzung ist, dass sich die betreffende Datenbank im Einzelbenutzermodus befindet, um einen der drei Reparaturbefehle ausführen zu können. Wenn ein Benutzer die Datenbank nicht in den Einzelbenutzermodus versetzt, erscheint die folgende Fehlermeldung:

Die Reparaturanweisung wird nicht verarbeitet. Die Datenbank muss sich im Einzelbenutzermodus befinden.

DBCC-Ausführung abgeschlossen. Wenn DBCC Fehlermeldungen ausgegeben hat, wenden Sie sich an Ihren Systemadministrator.”

Sie können die SQL DB mit dem folgenden Befehl in den Einzelbenutzermodus versetzen:

ALTER DATABASE Datenbankname SET SINGLE_USER WITH ROLLBACK IMMEDIATE

  1. Zweitens müssen Sie die Syntax verwenden, um die DBCC CHECKDB-Reparaturbefehle korrekt auszuführen. Nur dann werden die Unstimmigkeiten korrigiert und Sie erhalten eine gesunde Datenbankdatei.
  2. Die DBCC-Reparaturanweisungen sind für speicheroptimierte Tabellen nicht gültig. In solchen Fällen, d.h. bei Integritätsproblemen in einer speicheroptimierten Tabelle, müssen Sie das Backup wiederherstellen, um Zugriff auf die Daten in der db-Datei zu erhalten, vorausgesetzt, die Backup-Datei ist nicht beschädigt.

Das DBCC CHECKDB Repair Tool ist fehlgeschlagen! Was nun?

Wenn das integrierte DBCC CHECKDB die SQL db-Datei nicht reparieren kann, können Sie als nächstes eine spezialisierte SQL-Reparatursoftware wie Stellar Repair for MS SQL ausführen. Die Software hilft Ihnen, die MDF-Datei zu reparieren und die darin gespeicherten Daten zu extrahieren, ohne dass Sie viel Zeit und Mühe in das Schreiben von komplexem Code investieren müssen.

Diese SQL-Reparatursoftware hilft dabei, die Datenbank auf fehlerhafte Einträge zu überprüfen, Bitmuster zu korrigieren und die Datenbank in einen konsistenten Zustand zu bringen.

Hauptmerkmale der Stellar Repair for MS SQL Software

Fazit

Wenn eine MDF-Datei beschädigt wird, besteht die einzige Sorge der System- oder Datenbankadministratoren (DBAs) darin, sicherzustellen, dass der Zugriff auf die Datenbank möglich ist und dass alle Daten in ihrem ursprünglichen, intakten Zustand wiederhergestellt werden.  

Sie können die Datenbankdatei einfach aus der letzten Sicherungskopie wiederherstellen, aber wenn diese nicht verfügbar oder beschädigt ist, kann die Ausführung von DBCC CHECKDB mit Reparaturoptionen helfen. Wenn keine der Reparaturoptionen für Sie funktioniert oder Sie nicht riskieren wollen, dass Daten aufgrund der Option REPAIR_ALLOW_Data_LOSS verloren gehen, ist die Verwendung der Stellar Repair for MS SQL Software der beste Weg, um eine beschädigte SQL Server-Datenbank-MDF-Datei zu reparieren. Sie kann bei der Reparatur von Datenbankdateien (.mdf und .ndf) helfen, wenn die DBCC CHECKDB Reparatur fehlschlägt.

Related Post

Exit mobile version