Inhaltsverzeichnis
    SQL-Datenbank-Reparatur

    Wie behebt man den Fehler “Die Datenbank kann nicht wiederhergestellt werden, da das Protokoll nicht wiederhergestellt wurde”?


    Inhaltsverzeichnis

      Zusammenfassung: Steckt Ihre SQL Server-Datenbank im Zustand RESTORING fest und gibt die Fehlermeldung 'Die Datenbank kann nicht wiederhergestellt werden, da das Protokoll nicht wiederhergestellt wurde' zurück. In diesem Beitrag erfahren Sie die möglichen Gründe für diesen SQL Server-Fehler und die Lösungen, um ihn zu beheben. Außerdem erfahren Sie mehr über andere Probleme, die während des Wiederherstellungsprozesses auftreten können. Außerdem erfahren Sie etwas über ein fortschrittliches SQL-Wiederherstellungstool, mit dem Sie die Datenbank ohne Datenverlust wiederherstellen können.

      Wenn Sie versuchen, eine SQL Server-Datenbank wiederherzustellen, kann es vorkommen, dass die Datenbank im Status “Wiederherstellen” stecken bleibt und die folgende Fehlermeldung anzeigt:

      Msg 4333, Ebene 16, Zustand 1, Zeile 1

      Die Datenbank kann nicht wiederhergestellt werden, da das Protokoll nicht wiederhergestellt wurde.

      Msg 3013, Ebene 16, Zustand 1, Zeile 1

      RESTORE DATABASE wird abnormal beendet.

      Wodurch wird der Fehler verursacht?

      Es gibt keine bekannten Gründe, die diesen Fehler besonders hervorrufen. Der Fehler kann jedoch aus einem der folgenden Gründe auftreten:

      • Ihre SQL Server-Instanz wurde während der Wiederherstellung von Transaktionsprotokollsicherungen getrennt.
      • Der Wiederherstellungsprozess wurde abgebrochen.
      • Während der Wiederherstellung der Datenbank ging dem Server der Speicherplatz aus.

      Wie kann der Fehler behoben werden?

      Hinweis: Bevor Sie fortfahren, stellen Sie sicher, dass der Server über ausreichend Speicherplatz verfügt, und versuchen Sie dann, die Datenbank wiederherzustellen. Wenn Sie keine Probleme mit dem Speicherplatz haben, befolgen Sie die unten beschriebene Lösung.

      Um das Problem zu beheben, versuchen Sie, die problematische Datenbank zu löschen und sie wiederherzustellen. Führen Sie dazu im Abfragefenster von SQL Server Management Studio (SSMS) Folgendes aus:

      Hinweis: Wenn Sie die Datenbank nicht löschen können, versuchen Sie, die Datenbank mit der gespeicherten Prozedur sp_detach_db zu entfernen. Wenn die gespeicherte Prozedur den Fehler “database is in use” zurückgibt, können Sie den Befehl dbcc detachdb verwenden, um die Datenbank zu entfernen. Dabei ist jedoch Vorsicht geboten, da es sich um einen undokumentierten Befehl handelt.

      USE [master]

      GO

      – Erstellen Sie die Datenbank erneut mit demselben Namen wie die ursprüngliche Datenbank

      CREATE DATABASE [datenbank_name];

      – Wiederherstellung der Datenbank mit den üblichen Sicherungsskripten

      RESTORE DATABASE datenbank_name

      FROM DISK = ‘Pfad der .bak-Datei eingeben’

      MIT ERHOLUNG

      Hinweis: Wenn Sie mehrere Datenbankdateien wiederherstellen müssen, führen Sie den Befehl RESTORE mit der Option WITH NORECOVERY aus. Für die letzte Datenbankdatei führen Sie den RESTORE-Befehl WITH RECOVERY aus.

      Was ist zu tun, wenn auf die Datenbank nicht mehr zugegriffen werden kann?

      Wenn Sie die Datenbank wiederherstellen können, sie aber nicht mehr zugänglich und als SUSPECT gekennzeichnet ist, müssen Sie die Datenbank reparieren. Beachten Sie, dass Sie eine SUSPECT-Datenbank nicht reparieren können. Zunächst müssen Sie die Datenbank zugänglich machen, indem Sie sie in den EMERGENCY-Modus versetzen. Führen Sie dazu den folgenden Befehl aus:

      ALTER DATABASE datenbank_name SET EMERGENCY

      Sobald die Datenbank zugänglich ist, ist es wichtig, dass Sie exklusiven Zugriff auf die Datenbank haben. Setzen Sie also den Datenbankstatus auf den Modus SINGLE_USER und führen Sie DBCC CHECKDB mit der Option “REPAIR_ALLOW_DATA_LOSS” aus.

      ALTER DATABASE datenbank_name SET SINGLE_USER WITH ROLLBACK IMMEDIATE

      DBCC CHECKDB (‘datenbank_name’,REPAIR_ALLOW_DATA_LOSS)

      Danach versetzen Sie die Datenbank wieder in den MULTI_USER-Modus, indem Sie den folgenden Befehl ausführen:

      ALTER DATABASE datenbank_name SET MULTI_USER

      Lesen Sie im Detail: Wie kann man MS SQL-Datenbanken aus dem verdächtigen Modus wiederherstellen?

      Aktualisieren Sie die Datenbank und prüfen Sie, ob Sie auf sie zugreifen können.

      Wenn die Datenbank immer noch unzugänglich ist und Sie einen Datenverlust vermeiden müssen, verwenden Sie ein SQL-recovery tool, das die Datenbank wiederherstellen kann, während die Daten intakt bleiben. Sie können Stellar Repair for MS SQL verwenden, um die Datenbank (MDF)-Datei zu reparieren und sie in ihrem ursprünglichen Zustand wiederherzustellen. Außerdem hilft die Software bei der Wiederherstellung der Datenbank mit 8-facher Geschwindigkeit, indem sie Ihnen erlaubt, mehrere (bis zu 8 Tabellen) gleichzeitig zu speichern.

      Kostenloser Download für Windows

      Die Software kann auch dabei helfen, gelöschte Datensätze aus einer SQL Server-Datenbank wiederherzustellen. Darüber hinaus können Sie eine Vorschau der reparierten Komponenten anzeigen, bevor Sie sie in einer bestehenden oder neuen Datenbank oder in anderen Dateiformaten (CSV, HTML oder XLS) speichern.

      Schlussfolgerung

      Wenn Sie die Fehlermeldung “Die Datenbank kann nicht wiederhergestellt werden, da das Protokoll nicht wiederhergestellt wurde” erhalten, kann es helfen, die Datenbank zu löschen und sie aus der Sicherung wiederherzustellen, um den Fehler zu beheben. Wenn die Wiederherstellung fehlschlägt oder die Datenbank unzugänglich geworden ist, versuchen Sie, die Datenbank mit DBCC CHECKDB und dem Befehl REPAIR_ALLOW_DATA_LOSS zu reparieren. Wenn dies nicht hilft, können Sie Stellar Repair for MS SQL verwenden, um Ihre Datenbank zu reparieren und wiederherzustellen.

      Was this article helpful?

      No NO

      Über den Autor

      Himanshu Shakya

      Himanshu is a Tech Enthusiast & Blogger at Stellar and having knowledge of Japanese Language. And apart from this in his spare time he likes playing Chess.

      Verwandter Beitrag

      WARUM STELLAR® WELTWEIT FÜHREND IST

      Warum Stellar wählen?

      • 0M+

        Kunden

      • 0+

        Jahre der Exzellenz

      • 0+

        F&E-Ingenieure

      • 0+

        Länder

      • 0+

        PARTNER

      • 0+

        Erhaltene Auszeichnungen