Wie man Microsoft SQL Server 2022-Datenbankdateien (MDF, LDF und BAK) wiederherstellt

In diesem Artikel untersuchen wir, wie Microsoft SQL Server 2022-Datenbankdateien wiederhergestellt werden. Wir zeigen, was zu tun ist, wenn eine Datenbank oder ihre Dateien versehentlich gelöscht werden, sowie wie mithilfe eines verfügbaren Backups die Datenbank wieder in einen funktionsfähigen Zustand versetzt werden kann.

Wie man Microsoft SQL Server 2022-Datenbankdateien (MDF, LDF und BAK) wiederherstellt

Zur Wiederherstellung der Dateien verwenden wir Hetman RAID Recovery. Das Programm kann MDF-, LDF- und BAK-Dateien auf physischen Laufwerken, RAID-Arrays und dynamischen Datenträgern erkennen sowie mit sektorweise erstellten Datenträgerabbildern arbeiten. Die wiederhergestellten Dateien können anschließend für Restore oder Attach mithilfe von Microsoft SQL Server verwendet werden.

Hetman RAID Recovery unterstützt Windows, Linux und macOS.

Zur Datenwiederherstellung von ausgefallenen RAID-Arrays, NAS-Geräten und anderen Speichersystemen mit mehreren Festplatten.
Zur Ansicht gehen
SQL Server 2022: Gelöschte Datenbank wiederherstellen (MDF, LDF, BAK)

SQL Server 2022: Gelöschte Datenbank wiederherstellen (MDF, LDF, BAK)

SQL-Server-Funktionen

Welche Dateien Microsoft SQL Server verwendet und warum sie bei der Wiederherstellung wichtig sind:

  • MDF – die primäre Datenbankdatei. Sie enthält die Datenbankstruktur, Tabellen, Datensätze, Indizes und andere Objekte. Diese Datei ist die Hauptdatenquelle, wenn eine gelöschte Datenbank wieder in SQL Server eingebunden werden muss.
  • LDF – die Transaktionsprotokolldatei. SQL Server zeichnet darin Datenbankänderungen auf. Das Protokoll dient der Sicherstellung der Datenkonsistenz und ist eine wichtige Komponente beim Anfügen einer Datenbank aus ihren physischen Dateien.
  • BAK – die Sicherungsdatei. In unserem Test ist dies ein vollständiges Datenbankbackup, das von SQL Server erstellt wurde. Wenn eine solche Datei vorhanden und nicht beschädigt ist, kann sie für Restore verwendet werden, ohne dass die ursprünglichen MDF- und LDF-Dateien angefügt werden müssen.

Daher hängt das Wiederherstellungsszenario davon ab, welche Dateien erhalten geblieben oder gefunden wurden:

  • Wenn eine BAK-Datei verfügbar ist, wird die Datenbank aus dem Backup wiederhergestellt.
  • Wenn kein Backup vorhanden ist, die MDF- und LDF-Dateien jedoch wiederhergestellt wurden, können sie für Attach verwendet werden, sofern die Dateien weiterhin lesbar und konsistent sind.
Funktion Beschreibung
Relationales Datenmodell SQL Server speichert Informationen in Tabellen, die über Schlüssel und Einschränkungen miteinander verbunden sind.
T-SQL-Abfragesprache Eine Erweiterung von SQL, die zum Erstellen von Abfragen, Verwalten von Daten, Schreiben von Prozeduren und Ausführen administrativer Aufgaben verwendet wird.
MDF- und NDF-Datenbankdateien MDF ist die primäre Datenbankdatendatei, und NDF ist eine zusätzliche Datendatei. Sie enthalten Tabellen, Indizes und andere Datenbankobjekte.
LDF-Transaktionsprotokolldatei Speichert Aufzeichnungen von Transaktionen und Änderungen in der Datenbank. Das Protokoll wird für die Absturzsicherung und die Datenkonsistenz verwendet.
Sicherung und Wiederherstellung SQL Server unterstützt vollständige, differenzielle und Transaktionsprotokoll-Backups, wodurch es möglich ist, eine Datenbank mit der entsprechenden Konfiguration zu einem bestimmten Zeitpunkt wiederherzustellen.
Transaktionen und ACID Gewährleisten Atomarität, Konsistenz, Isolation und Dauerhaftigkeit von Datenoperationen.
Indizes Beschleunigen Suchvorgänge und Abfrageausführungen, können jedoch nach bestimmten Fehlern beschädigt werden oder neu erstellt werden müssen.
Mechanismen zur Integritätsprüfung Primär- und Fremdschlüssel, Einschränkungen und Prüfbedingungen helfen, die Datenkorrektheit sicherzustellen.
Wiederherstellungsmodelle Die Wiederherstellungsmodelle Einfach, Vollständig und Massenvorgangsprotokolliert bestimmen die Möglichkeiten für Transaktionsprotokollsicherungen und Datenbankwiederherstellungsoptionen.
Diagnosetools Der Befehl DBCC CHECKDB prüft die logische und physische Integrität einer Datenbank und hilft, Beschädigungen zu identifizieren.

Für Tests wurde Windows Server 2022 mit Microsoft SQL Server 2022 vorbereitet. Die Datenbank TestDB befindet sich auf einem Dynamic Spanned Volume mit dem NTFS-Dateisystem. Sie enthält Tabellen, Testkundendatensätze und im Feld VARBINARY(MAX) gespeicherte Dateien. Die MDF-Datei befindet sich im Verzeichnis SQLData, die LDF-Protokolldatei in SQLLogs und das vollständige Backup TestDB_Full.bak im Verzeichnis SQLBackup.

So greifen Sie auf die Serverdatenträger zu

METHODE 1. Laufwerke an einen Workstation-Computer anschließen

Wenn die SQL-Server-Dateien auf einem separaten physischen Datenträger gespeichert sind, kann dieser über einen SATA-Adapter, USB-Adapter oder eine Dockingstation an einen Workstation-Computer angeschlossen werden.

Wenn die Datenbank auf einem Dynamic Spanned Volume oder in einer anderen Multi-Disk-Konfiguration gespeichert war, ist es vorzuziehen, Zugriff auf alle Datenträger zu haben, aus denen sie bestand.

Wenn es nicht möglich ist, alle Datenträger gleichzeitig anzuschließen, können Sie sektorweise Abbilder davon erstellen. Wählen Sie dazu in Hetman RAID Recovery das physische Laufwerk aus, starten Sie Datenträger speichern, geben Sie den Speicherort an und warten Sie, bis der Kopiervorgang abgeschlossen ist.

Hetman RAID Recovery: Erstellen eines physischen Laufwerksabbilds

Anschließend kann das Laufwerk getrennt und auf dieselbe Weise ein Abbild des nächsten Laufwerks erstellt werden. Mounten Sie die fertigen Abbilder über Datenträger einbinden und verwenden Sie sie zusammen mit den physischen Datenträgern für die Analyse.

Hetman RAID Recovery: Einbinden eines physischen Laufwerksabbilds

Dieser Ansatz ermöglicht es außerdem, mit Kopien weiterzuarbeiten, ohne die Quelldatenträger zusätzlich zu belasten.

Hetman RAID Recovery: eingebundenes physisches Laufwerksabbild

METHODE 2. SSH-Zugriff konfigurieren

Es gibt eine weitere Möglichkeit, auf die Laufwerke zuzugreifen, ohne sie physisch zu entfernen. Wenn Windows Server 2022 noch läuft und über das Netzwerk erreichbar ist, können die Laufwerke per SSH remote mit Hetman RAID Recovery verbunden werden.

Dazu konfigurieren Sie vorab OpenSSH Server auf dem Windows Server.

Windows Server 2022: OpenSSH Server installieren

Starten Sie den Dienst OpenSSH SSH Server – sshd – und stellen Sie ihn bei Bedarf auf automatischen Start.

Windows Server 2022: Starten des OpenSSH SSH Server-Dienstes
Windows Server 2022: automatischen Start von OpenSSH SSH Server aktivieren

Überprüfen Sie außerdem den Zugriff über TCP-Port 22 und stellen Sie sicher, dass das für die Verbindung verwendete Konto über die erforderlichen Berechtigungen für den Zugriff auf die Serverlaufwerke verfügt.

Öffnen Sie nach der Serverkonfiguration Hetman RAID Recovery. Gehen Sie im oberen Menü zu Tools und wählen Sie Connect via SSH.

Hetman RAID Recovery: Tools - Connect via SSH

Geben Sie im Feld Remote server die IP-Adresse des Windows Servers ein und im Feld Port 22. Wählen Sie im Abschnitt Credentials die erforderliche Authentication method aus und geben Sie Benutzernamen und Kennwort des Kontos ein. Falls erforderlich, können Sie Save server details und Save authentication data aktivieren, damit diese Parameter nicht erneut eingegeben werden müssen. Klicken Sie anschließend auf Next.

Hetman RAID Recovery: Verbindung zu einem Remoteserver herstellen

Nach einer erfolgreichen Verbindung zum Server werden im nächsten Fenster die verfügbaren physischen Datenträger und logischen Arrays angezeigt. Wählen Sie die Laufwerke aus, die zum erforderlichen JBOD gehören, und fahren Sie fort.

Hetman RAID Recovery: Verbindung zu einem Remoteserver herstellen

Nach der Bestätigung werden sie im Hauptfenster von Hetman RAID Recovery angezeigt, wo mit ihnen auf die gleiche Weise wie mit lokal angeschlossenen Laufwerken gearbeitet werden kann.

Achten Sie auf die Netzwerkinfrastruktur. Da Vorgänge mit den Laufwerken über das Netzwerk ausgeführt werden, ist für eine stabile und komfortable Verbindung vorzuziehen, dass Workstation, Windows Server und das lokale Netzwerk Datenübertragungsraten von 1 Gbit/s und höher unterstützen. Dies trägt dazu bei, die Laufwerksanalyse und die Übertragung wiederhergestellter Dateien zu beschleunigen.

Diese Methode ist besonders praktisch, wenn der Server noch läuft und das physische Entfernen und Anschließen einer großen Anzahl von Laufwerken an einen anderen Computer unerwünscht oder schwierig ist.

So stellen Sie eine gelöschte SQL Server 2022-Datenbank wieder her

METHODE 1. Wiederherstellung einer Datenbank aus einer BAK-Datei

Gehen wir nun zum ersten Szenario über. In diesem Fall ist die vollständige Sicherungsdatei TestDB_Full.bak nach der Wiederherstellung verfügbar und kann zum Wiederherstellen der Datenbank verwendet werden.

Öffnen Sie Microsoft SQL Server Management Studio und verbinden Sie sich mit der erforderlichen SQL Server-Instanz.

Windows Server 2022: Verbindung zur erforderlichen SQL-Server-Instanz herstellen

Öffnen Sie im Baum Object Explorer das Kontextmenü für Databases und wählen Sie Restore Database.

Windows Server 2022: Databases - Restore Database

Wählen Sie als Quelle Device, geben Sie die Datei TestDB_Full.bak an und überprüfen Sie, ob SQL Server das Backup korrekt erkannt hat.

Windows Server 2022: Device - TestDB_Full.bak

Um die ursprüngliche Datenbank TestDB nicht zu ändern, stellen Sie sie unter einem separaten Namen wieder her, TestDB_Restored.

Windows Server 2022: Umbenennen der Datenbank in TestDB_Restored

Geben Sie in den Wiederherstellungseinstellungen separate Namen und Pfade für die physischen Datenbankdateien an, damit keine Konflikte mit den Dateien der ursprünglichen TestDB entstehen. Verwenden Sie für die neue Instanz TestDB_Restored.mdf und TestDB_Restored_log.ldf.

Windows Server 2022: TestDB_Restored.mdf und TestDB_Restored_log.ldf

Starten Sie Restore und warten Sie, bis der Vorgang abgeschlossen ist. Nach einer erfolgreichen Wiederherstellung wird die Datenbank TestDB_Restored im Object Explorer angezeigt.

Windows Server 2022: Object Explorer - TestDB_Restored

Öffnen Sie sie und überprüfen Sie die Tabellen und Datensätze. Stellen Sie außerdem sicher, dass die im Feld VARBINARY(MAX) gespeicherten Daten verfügbar sind. Auf diese Weise überprüfen wir nicht nur die Erstellung der Datenbank, sondern auch die Verfügbarkeit ihres Inhalts nach der Wiederherstellung aus der BAK-Datei.

Windows Server 2022: Überprüfung der Tabellen und Datensätze in TestDB_Restored

METHODE 2. Wiederherstellung einer gelöschten Datenbank

Im nächsten Fall wurde die Datenbank TestDB_Restored versehentlich gelöscht und wird in Microsoft SQL Server Management Studio nicht mehr angezeigt. Ihre physischen Dateien TestDB_Restored.mdf und TestDB_Restored_log.ldf waren ebenfalls nicht mehr verfügbar.

Das Dynamic Spanned Volume selbst bleibt jedoch zugänglich, sodass eine erneute Rekonstruktion des JBOD nicht erforderlich ist.

Windows Server 2022: TestDB_Restored wird in Microsoft SQL Server nicht angezeigt

Öffnen Sie Hetman RAID Recovery, wählen Sie das logische NTFS-Volume aus, auf dem sich die SQL-Server-Dateien befanden, und starten Sie einen Schnellscan.

Hetman RAID Recovery: Schnellscan

Nach Abschluss der Analyse wechseln Sie in die Verzeichnisse, in denen die MDF– und LDF-Dateien gespeichert waren, und prüfen Sie die Ergebnisse. Suchen Sie die gelöschten Dateien TestDB_Restored.mdf und TestDB_Restored_log.ldf und notieren Sie deren Namen, Größe und Speicherort.

Hetman RAID Recovery: TestDB_Restored.mdf
Hetman RAID Recovery: TestDB_Restored_log.ldf

Wenn der Schnellscan die erforderlichen Dateien nicht findet oder das Ergebnis unvollständig ist, kehren Sie zur Auswahl des Analysemodus zurück und starten Sie den Vollscan. Dieser führt eine tiefere Analyse von NTFS durch und kann weitere gelöschte Daten finden.

Nachdem die erforderlichen MDF– und LDF-Dateien gefunden wurden, fügen Sie sie der Wiederherstellungsliste hinzu und speichern Sie sie auf einem anderen physischen Datenträger.

Hetman RAID Recovery: Speichern der wiederhergestellten Datei TestDB_Restored_log.ldf

Es wird nicht empfohlen, die Dateien zurück auf das ursprüngliche Dynamic Spanned Volume wiederherzustellen, da neue Schreibvorgänge andere Daten überschreiben können, die möglicherweise noch wiederhergestellt werden können.

Nachdem die physischen Dateien wiederhergestellt wurden, kehren Sie zu Microsoft SQL Server Management Studio zurück. Wählen Sie im Kontextmenü für Databases Attach.

Windows Server 2022: Databases - Attach

Fügen Sie die wiederhergestellte Datei TestDB_Restored.mdf hinzu und überprüfen Sie, ob SQL Server die zugehörige Protokolldatei TestDB_Restored_log.ldf erkennt.

Windows Server 2022: Hinzufügen der wiederhergestellten Datei TestDB_Restored.mdf

Wenn beide Dateien lesbar und konsistent sind, führen Sie Attach aus. Nach dem Anfügen wird die Datenbank wieder in der SQL-Server-Liste angezeigt.

Windows Server 2022: SQL Server erkennt die zugehörige Protokolldatei TestDB_Restored_log.ldf

Öffnen Sie die Tabellen und überprüfen Sie die Datensätze. Prüfen Sie außerdem die Verfügbarkeit der im Testdatensatz verwendeten VARBINARY(MAX)-Daten. Wenn Struktur, Datensätze und gespeicherte Dateien verfügbar sind, kann die Wiederherstellung als erfolgreich betrachtet werden.

Windows Server 2022: Öffnen von Tabellen und Überprüfen von Datensätzen

Fazit

Wir haben zwei Hauptszenarien für die Arbeit mit Microsoft SQL Server 2022-Datenbankdateien untersucht:

  • Im ersten Fall wurde die verfügbare BAK-Sicherungsdatei verwendet, um die Datenbank mit Restore wiederherzustellen.
  • Im zweiten Fall wurden nach dem Löschen der Datenbank die physischen MDF- und LDF-Dateien gefunden und mit Hetman RAID Recovery wiederhergestellt, wonach sie über Attach wieder an SQL Server angefügt wurden.

Hetman RAID Recovery ermöglicht die Arbeit mit physischen Datenträgern, sektorweise erstellten Abbildern und entfernten Datenträgern über SSH und unterstützt außerdem Windows, Linux und macOS. Dadurch ist es möglich, die Wiederherstellung auch dann zu organisieren, wenn SQL-Server-Dateien auf Multi-Disk-Konfigurationen gespeichert sind oder wenn das Entfernen und Anschließen der Serverlaufwerke an einen anderen Computer umständlich ist.

Glib Khomenko

Autor: , Technischer Schreiber

Hlib Khomenko ist Übersetzer und IT-Techniker im Unternehmen „Hetman Software“. Der Autor hat eine spezialisierte Hochschulausbildung und hat langjährige Erfahrung in der deutschen Übersetzung.

Alexandr Shafarenko

Editor: , Technischer Schreiber

Olexander Schafarenko hat langjährige Erfahrungen im Schreiben von Artikeln. Seine Artikel auf dem Blog wurden von Millionen von Benutzern gelesen. Der Autor hat eine spezialisierte Hochschulausbildung und teilt sein Wissen im Bereich IT mit den Lesern.

Für dich empfohlen