Wenn SQL Server oder die Dienste nach dem Herunterfahren der SQL-Datenbank, einem Serverabsturz oder einer Datenbankbeschädigung neu gestartet werden, geht die Datenbank automatisch in den “Wiederherstellungs“-Status über. Nach Abschluss des Wiederherstellungsprozesses ist die Datenbank wieder online. Wenn die Wiederherstellung der Datenbank jedoch zu lange dauert, ist es wichtig zu wissen, warum die Datenbank in der Wiederherstellung feststeckt.
Was verursacht, dass die SQL Server-Datenbank im Wiederherstellungsmodus stecken bleibt?
Sie können das SQL Server-Fehlerprotokoll überprüfen, um die Ursache für das Problem “Datenbank steckt im RECOVERY-Modus fest” zu ermitteln. Häufige Ursachen für dieses Problem sind unter anderem:
- Möglicherweise stellen Sie die Datenbank aus Voll-, Differenz- und Protokollsicherungen mit aktivierter Option NORECOVERY wieder her, aber RECOVERY wurde bei der letzten Wiederherstellung nicht angegeben.
- Laut MSDN kann sich das Transaktionsprotokoll füllen, wenn sich eine Datenbank in der Wiederherstellung befindet. SQL Server hält alle laufenden Transaktionen an, bis der Protokollspeicher freigegeben ist, wodurch sich die Wiederherstellung der Datenbank verlangsamt. Mehrere virtuelle Protokolldateien (VLFs) in einem Transaktionsprotokoll können den Wiederherstellungsprozess ebenfalls verlangsamen.
- Der Wiederherstellungsprozess wird möglicherweise abgebrochen, wenn Ihre Datenbank beschädigt oder in irgendeiner Weise beschädigt ist.
Fehlerbehebung für das Problem “SQL Server-Datenbank im Wiederherstellungsmodus”.
Im Folgenden finden Sie einige einfache Tipps zur Fehlerbehebung, um das Problem mit der SQL Server-Datenbank im Wiederherstellungsmodus zu lösen:
Tipp 1 – Datenbank mit RECOVERY wiederherstellen
Hinweis: Wenn Sie “RESTORE mit Wiederherstellung” ausführen, durchläuft die Datenbank die gleichen Wiederherstellungsschritte erneut. Vermeiden Sie diese Option, wenn Sie eine große Datenbank haben.
Führen Sie die folgende Abfrage aus, um Ihre Datenbank wieder online zu bringen:
RESTORE DATABASE db_name WITH RECOVERY; |
Die Abfrage macht alle nicht abgeschlossenen Transaktionen rückgängig und bringt die Datenbank aus dem Wiederherstellungsmodus.
Tipp 2 – Microsoft-Korrekturen anwenden
Wenn Sie zu viele VLFs im Transaktionsprotokoll haben, was zu einer langsamen Datenbankwiederherstellung führt, kann die Anwendung von Microsoft-Korrekturen helfen.
Tipp 3 – Führen Sie DBCC CHECKDB aus, um eine Datenbankbeschädigung festzustellen
Führen Sie DBCC CHECKDB für die problematische Datenbank aus. Wenn es Konsistenzfehler meldet, müssen Sie die Datenbank mit der Option Minimale Reparaturstufe reparieren. Für weitere Informationen lesen Sie bitte dies: Lesen Sie mehr
Wenn diese Tipps zur Fehlerbehebung fehlschlagen, versuchen Sie, das Problem mit den im nächsten Abschnitt beschriebenen Lösungen zu beheben.
Lösungen zur Behebung des Problems der SQL Server-Datenbank im Wiederherstellungsmodus
Im Folgenden finden Sie zwei Lösungen, mit denen Sie das Problem beheben können:
Lösung 1 – Wiederherstellung der Datenbank aus der letzten Sicherung
Hinweis: Fahren Sie mit der nächsten Lösung fort, wenn die Sicherung veraltet oder beschädigt ist.
Wenn der Wiederherstellungsprozess der Datenbank seit Ewigkeiten festzustecken scheint, versuchen Sie, die Datenbank von einer aktualisierten Sicherungskopie wiederherzustellen. Führen Sie dazu die folgenden Schritte aus:
- Öffnen Sie SQL Server Management Studio (SSMS), klicken Sie mit der rechten Maustaste auf Datenbanken und dann auf Datenbank wiederherstellen.
Datenbank wiederherstellen
- Wählen Sie unter dem Abschnitt Quelle die Option Gerät und klicken Sie auf die Schaltfläche daneben.
Gerät
- Drücken Sie in dem sich öffnenden Dialogfeld auf Hinzufügen.
Hinzufügen
- Wählen Sie die Sicherungsdatei (.bak) aus, die Sie wiederherstellen möchten, und drücken Sie auf OK.
Wählen Sie die Sicherungsdatei
- Klicken Sie erneut auf OK.
Klicken Sie erneut auf OK.
- Geben Sie im Bildschirm Datenbank wiederherstellen den Namen der Datenbank ein, die Sie wiederherstellen möchten, und klicken Sie auf OK.
Datenbank wiederherstellen
- Die Datenbank wird wiederhergestellt.
Die Datenbank wird wiederhergestellt. Hinweis: Die Wiederherstellung einer großen Datenbank mit mehreren Tabellen kann sehr viel Zeit in Anspruch nehmen.
Lösung 2 – Verwenden Sie ein professionelles SQL-Datenbank-Wiederherstellungstool
Wenn keine Sicherungskopie verfügbar ist oder Sie die Datenbank schnell wiederherstellen möchten, kann ein SQL-Wiederherstellungstool wie Stellar Repair for MS SQL helfen. Die Software repariert die .mdf/.ndf-Dateien und stellt die Datenbank in ihrer ursprünglichen Form wieder her.
Sehen Sie sich dieses Video an, um zu verstehen, wie die Software funktioniert:
Schlussfolgerung
Dieser Artikel behandelt SQL-Datenbanken, die im Zustand “Wiederherstellen” feststecken. Er beschreibt auch die häufigsten Ursachen für das Problem der SQL Server-Datenbank im Wiederherstellungsmodus und gibt Tipps zur Fehlerbehebung. Wenn diese Tipps nicht helfen, kann die Implementierung der Lösungen dazu beitragen, die DB in einen konsistenten Zustand zu bringen. Ein SQL-Datenbank-Wiederherstellungstool kann sich als nützlich erweisen, wenn alle anderen Maßnahmen zur Wiederherstellung der Datenbank fehlschlagen.
Was this article helpful?