Übersicht über Wiederherstellung und Wiederherstellung (SQL Server)

Gilt für:SQL Server

Um eine SQL Server-Datenbank aus einem Fehler wiederherzustellen, muss ein Datenbankadministrator eine Reihe von SQL Server-Sicherungen in einer logisch korrekten und sinnvollen Wiederherstellungssequenz wiederherstellen. SQL Server-Wiederherstellung und -Wiederherstellung unterstützt das Wiederherstellen von Daten aus Sicherungen einer ganzen Datenbank, einer Datendatei oder einer Datenseite wie folgt:

  • Datenbank ( Vollständige Datenbankwiederherstellung)

    Die gesamte Datenbank wird wiederhergestellt und wiederhergestellt, und die Datenbank ist während der Wiederherstellungs- und Wiederherstellungsvorgänge offline.

  • Datendatei ( Dateiwiederherstellung)

    Mindestens eine Datendatei wird wiederhergestellt. Während einer Dateiwiederherstellung werden die Dateigruppen, die die Dateien enthalten, während der Wiederherstellung automatisch offline. Wenn Sie versuchen, auf eine Offlinedateigruppe zuzugreifen, verursacht dies einen Fehler.

  • Datenseite ( Seitenwiederherstellung)

    Mit dem vollständigen Wiederherstellungsmodell oder dem massenprotokollierten Wiederherstellungsmodell können Sie einzelne Seiten wiederherstellen. Die Seitenwiederherstellung kann unabhängig von der Anzahl der Dateigruppen für jede Datenbank ausgeführt werden.

SQL Server-Sicherung und -Wiederherstellung funktionieren auf allen unterstützten Betriebssystemen. Informationen zu den unterstützten Betriebssystemen finden Sie unter Hardware- und Softwareanforderungen für die Installation von SQL Server 2016. Informationen zur Unterstützung von Sicherungskopien früherer SQL Server-Versionen finden Sie im Kapitel RESTORE (Transact-SQL) im Abschnitt „Kompatibilitätsunterstützung“.

Übersicht über Wiederherstellungsszenarien

Ein Wiederherstellungsszenario in SQL Server ist der Vorgang des Wiederherstellens von Daten aus einer oder mehreren Sicherungen und anschließendem Wiederherstellen der Datenbank. Die unterstützten Wiederherstellungsszenarien hängen vom Wiederherstellungsmodell der Datenbank und der Edition von SQL Server ab.

In der folgenden Tabelle werden die für die verschiedenen Wiederherstellungsmodelle unterstützten Wiederherstellungsszenarien eingeführt.

Wiederherstellungsszenario Mit dem einfachen Wiederherstellungsmodell Mit dem vollständigen/massenprotokollierten Wiederherstellungsmodell
Vollständige Datenbankwiederherstellung Dies ist die grundlegende Wiederherstellungsstrategie. Eine vollständige Datenbankwiederherstellung besteht möglicherweise nur im Wiederherstellen einer vollständigen Datenbanksicherung. Alternativ kann eine vollständige Datenbankwiederherstellung das Wiederherstellen einer vollständigen Datenbanksicherung, gefolgt vom Wiederherstellen einer differenziellen Sicherung, umfassen.

Weitere Informationen finden Sie unter Vollständige Datenbankwiederherstellungen(einfaches Wiederherstellungsmodell).
Dies ist die grundlegende Wiederherstellungsstrategie. Eine vollständige Datenbankwiederherstellung bedeutet die Wiederherstellung einer vollständigen Datenbanksicherung und, optional, einer differenziellen Sicherung (soweit vorhanden), gefolgt von der Wiederherstellung aller darauffolgenden Protokollsicherungen (in chronologischer Reihenfolge). Um die vollständige Datenbankwiederherstellung abzuschließen, wird die letzte Protokollsicherung wiederhergestellt (RESTORE WITH RECOVERY).

Weitere Informationen finden Sie unter Vollständige Datenbankwiederherstellungen (vollständiges Wiederherstellungsmodell).
Dateiwiederherstellung 1 Stellen Sie mindestens eine beschädigte schreibgeschützte Datei wieder her, ohne die gesamte Datenbank wiederherzustellen. Die Dateiwiederherstellung ist nur verfügbar, wenn die Datenbank mindestens eine schreibgeschützte Dateigruppe aufweist. Wiederherstellen einer oder mehrerer Dateien ohne Wiederherstellung der gesamten Datenbank. Die Dateiwiederherstellung kann ausgeführt werden, während die Datenbank offline ist oder für einige Editionen von SQL Server, während die Datenbank online bleibt. Während einer Dateiwiederherstellung sind die Dateigruppen, die die wiederherzustellenden Dateien enthalten, immer offline.
Seitenwiederherstellung Nicht zutreffend Stellt mindestens eine beschädigte Seite wieder her. Die Seitenwiederherstellung kann während des Offlinemodus der Datenbank oder für einige Editionen von SQL Server ausgeführt werden, während die Datenbank online bleibt. Während einer Seitenwiederherstellung sind die wiederherzustellenden Seiten immer offline.

Es muss eine fortlaufende Kette von Protokollsicherungen bis zur aktuellen Protokolldatei vorhanden sein, und alle Protokollsicherungen müssen angewendet werden, um die Seite auf den Stand der aktuellen Protokolldatei zu bringen.

Weitere Informationen finden Sie unter Wiederherstellung von Seiten (SQL Server).
Stückwerkwiederherstellung 1 Stellen Sie die Datenbank in Phasen auf Dateigruppenebene wieder her, beginnend mit der primären Dateigruppe und allen sekundären Dateigruppen mit Lese-/Schreibzugriff. Stellen Sie die Datenbank phasenweise auf Dateigruppenebene wieder her, beginnend mit der primären Dateigruppe.

Weitere Informationen finden Sie unter Schrittweise Wiederherstellungen (SQL Server).

1 Onlinewiederherstellung wird nur in Enterprise Edition unterstützt.

Schritte zum Wiederherstellen einer Datenbank

Zum Ausführen einer Dateiwiederherstellung führt das Datenbankmodul zwei Schritte aus:

  • Erstellen aller fehlenden Datenbankdateien.

  • Kopieren der Daten aus den Sicherungsmedien in die Datenbankdateien.

Zum Ausführen einer Datenbankwiederherstellung führt das Datenbankmodul drei Schritte aus:

  • Erstellt die Datenbank- und Transaktionsprotokolldateien, wenn sie noch nicht vorhanden sind.

  • Kopieren aller Daten-, Protokoll- und Indexseiten aus den Sicherungsmedien einer Datenbank in die Datenbankdateien.

  • Wendet das Transaktionsprotokoll in dem sogenannten Wiederherstellungsvorgang an.

Unabhängig davon, wie Daten wiederhergestellt werden, garantiert das SQL Server-Datenbankmodul, dass die gesamte Datenbank logisch konsistent ist, bevor eine Datenbank wiederhergestellt werden kann. Wenn Sie beispielsweise eine Datei wiederherstellen, können Sie sie nicht wiederherstellen und sie online schalten, bis sie weit genug weitergeleitet wurde, um mit der Datenbank konsistent zu sein.

Vorteile einer Datei- oder Seitenwiederherstellung

Das Wiederherstellen von Dateien oder Seiten anstelle der vollständigen Datenbank bietet folgende Vorteile:

  • Bei der Wiederherstellung geringerer Datenmengen wird weniger Zeit zum Kopieren und Wiederherstellen benötigt.

  • Beim Wiederherstellen von Dateien oder Seiten in SQL Server können andere Daten in der Datenbank während des Wiederherstellungsvorgangs online bleiben.

Wiederherstellung und das Transaktionsprotokoll

Für die meisten Wiederherstellungsszenarien ist es erforderlich, eine Transaktionsprotokollsicherung anzuwenden und dem SQL Server-Datenbankmodul das Ausführen des Wiederherstellungsvorgangs zu ermöglichen, damit die Datenbank online bereitgestellt wird. Die Wiederherstellung ist der Prozess, der von SQL Server für jede Datenbank verwendet wird, um in einem transaktionskonsensären status ( oder sauber) zu beginnen.

Im Falle eines Ausfalls oder bei einem sonstigen nicht ordnungsgemäßen Herunterfahren, bleiben die Datenbanken möglicherweise in einem Status, in dem einige Änderungen nicht vom Puffercache in die Datendateien geschrieben wurden, einige Änderungen von unvollständigen Transaktionen jedoch bereits in den Datendateien vorgenommen wurden. Wenn eine Instanz von SQL Server gestartet wird, wird eine Wiederherstellung jeder Datenbank ausgeführt, die aus drei Phasen besteht, basierend auf dem letzten Datenbankprüfpunkt:

  • Phase 1 ist die Analysephase , die das Transaktionsprotokoll analysiert, um zu bestimmen, was der letzte Prüfpunkt ist, und erstellt die Dirty Page Table (DPT) und die Aktive Transaktionstabelle (ATT). Die DPT enthält Einträge der Seiten, die beim Herunterfahren der Datenbank in einem modifizierten Zustand vorlagen. Das ATT enthält Datensätze von Transaktionen, die zum Zeitpunkt des bereinigten Herunterfahrens der Datenbank aktiv waren.

  • Phase 2 ist die Redo-Phase , die jede im Protokoll aufgezeichnete Änderung weiterleitet, die möglicherweise nicht zum Zeitpunkt des Herunterfahrens der Datenbank in die Datendateien geschrieben wurde. Die für eine erfolgreiche datenbankweite Wiederherstellung erforderliche Mindest-Protokollfolgenummer (minLSN) finden Sie in der DPT. Sie markiert den Anfang der für alle modifizierten Seiten erforderlichen Wiederholungsvorgänge. In dieser Phase schreibt das SQL Server-Datenbankmodul auf den Datenträger alle schmutzigen Seiten, die zu zugesicherten Transaktionen gehören.

  • Phase 3 ist die Rückgängig-Phase, in der unvollständige Transaktionen im ATT zurückgesetzt werden, um sicherzustellen, dass die Integrität der Datenbank erhalten bleibt. Nach dem Rollback wird die Datenbank online geschaltet, und es können keine weiteren Transaktionsprotokollsicherungen auf die Datenbank angewendet werden.

Informationen zum Fortschritt der einzelnen Datenbankwiederherstellungsphasen werden im SQL Server-Fehlerprotokoll protokolliert. Der Fortschritt der Datenbankwiederherstellung kann auch mit erweiterten Ereignissen nachverfolgt werden. Weitere Informationen finden Sie im Blogbeitrag New extended events for database recovery progress (Neue erweiterte Ereignisse für den Fortschritt der Datenbankwiederherstellung).

Hinweis

Wenn in einem Szenario einer schrittweisen Wiederherstellung eine schreibgeschützte Dateigruppe bereits vor der Erstellung der Dateisicherung schreibgeschützt war, ist die Anwendung von Protokollsicherungen auf die Dateigruppe unnötig und wird von der Dateiwiederherstellung ausgelassen.

Hinweis

Um die Verfügbarkeit von Datenbanken in einer Unternehmensumgebung nach dem Starten des SQL Server-Diensts zu maximieren, z. B. nach einem Failover einer Always On Failover Cluster Instance oder eines direkten Neustarts, kann SQL Server Enterprise Edition eine Datenbank nach der Redo-Phase online schalten, während die Rückgängig-Phase noch ausgeführt wird. Dies wird als schnelle Wiederherstellung bezeichnet.
Die schnelle Wiederherstellung ist jedoch nicht verfügbar, wenn die Datenbank in einen Onlinestatus wechselt, der SQL Server-Dienst jedoch nicht neu gestartet wurde. Die Ausführung ALTER DATABASE AdventureWorks SET ONLINE; der Datenbank kann z. B. erst nach Abschluss aller drei Wiederherstellungsphasen in den Lese-/Schreibzustand versetzt werden.

Wiederherstellungsmodelle und unterstützte Wiederherstellungsvorgänge

Die für eine Datenbank verfügbaren Wiederherstellungsvorgänge hängen vom Wiederherstellungsmodell ab. In der folgenden Tabelle finden Sie eine Zusammenfassung, ob und in welchem Ausmaß die verschiedenen Wiederherstellungsmodelle ein bestimmtes Wiederherstellungsszenario unterstützen.

Wiederherstellungsvorgang Vollständiges Wiederherstellungsmodell Massenprotokolliertes Wiederherstellungsmodell Einfaches Wiederherstellungsmodell
Datenwiederherstellung Vollständige Wiederherstellung (falls das Protokoll verfügbar ist). Gefahr des Datenverlusts. Alle Daten seit der letzten vollständigen Sicherung oder differenziellen Sicherung gehen verloren.
Wiederherstellung bis zu einem bestimmten Zeitpunkt Jeder von den Protokollsicherungen abgedeckte Zeitpunkt. Nicht zulässig, wenn die Protokollsicherung massenprotokollierte Änderungen enthält. Wird nicht unterstützt.
Dateiwiederherstellung 1 Vollständige Unterstützung. Manchmal.2 Verfügbar nur für schreibgeschützte sekundäre Dateien.
Seitenwiederherstellung 1 Vollständige Unterstützung. Manchmal.2 Keine
Stückwerk (Dateigruppenebene) Wiederherstellen 1 Vollständige Unterstützung. Manchmal.2 Verfügbar nur für schreibgeschützte sekundäre Dateien.

1 Nur in der Enterprise-Edition von SQL Server verfügbar

2 Die erforderlichen Bedingungen finden Sie unter "Wiederherstellungseinschränkungen" unter dem einfachen Wiederherstellungsmodell weiter unten in diesem Artikel.

Wichtig

Unabhängig vom Wiederherstellungsmodell einer Datenbank kann eine SQL Server-Sicherung nicht in einer SQL Server-Datenbankmodulversion wiederhergestellt werden, die älter als die Version ist, die die Sicherung erstellt hat.

Wiederherstellen von Szenarien unter dem einfachen Wiederherstellungsmodell

Bei Verwendung des einfachen Wiederherstellungsmodells unterliegen Wiederherstellungsvorgänge den folgenden Einschränkungen:

Wenn die genannten Einschränkungen für Ihre Anforderungen nicht geeignet sind, sollten Sie die Verwendung des vollständigen Wiederherstellungsmodells in Betracht ziehen. Weitere Informationen finden Sie unter Übersicht über Sicherungen (SQL Server).

Wichtig

Unabhängig vom Wiederherstellungsmodell einer Datenbank kann eine SQL Server-Sicherung nicht von einer Version von SQL Server wiederhergestellt werden, die älter als die Version ist, die die Sicherung erstellt hat.

Wiederherstellen unter dem Massenwiederherstellungsmodell

In diesem Abschnitt werden Aspekte der Wiederherstellung behandelt, die sich nur auf das massenprotokollierte Wiederherstellungsmodell beziehen, das als Zusatz zum vollständigen Wiederherstellungsmodell gedacht ist.

Hinweis

Eine Einführung in das massenprotokollierte Wiederherstellungsmodell finden Sie unter Das Transaktionsprotokoll (SQL Server).

Im Allgemeinen ähnelt das massenprotokollierte Wiederherstellungsmodell dem vollständigen Wiederherstellungsmodell, und die für das vollständige Wiederherstellungsmodell beschriebenen Informationen gelten zudem für beide Modelle. Die Zeitpunktwiederherstellung und die Onlinewiederherstellung werden jedoch durch das massenprotokollierte Wiederherstellungsmodell beeinflusst.

Einschränkungen für die Point-in-Time-Wiederherstellung

Wenn eine Protokollsicherung, die unter dem Massenprotokollierungsmodell erstellt wurde, Massenprotokollierungsänderungen enthält, ist die Point-in-Time-Wiederherstellung nicht zulässig. Wenn versucht wird, eine Wiederherstellung bis zu einem bestimmten Zeitpunkt für eine Protokollsicherung auszuführen, die Massenänderungen enthält, treten beim Wiederherstellungsvorgang Fehler auf.

Einschränkungen für die Onlinewiederherstellung

Eine Onlinewiederherstellungssequenz funktioniert nur, wenn folgende Bedingungen erfüllt werden:

  • Alle erforderlichen Protokollsicherungen müssen vorgenommen werden, bevor die Wiederherstellungssequenz gestartet wird.

  • Massenänderungen müssen gesichert werden, bevor die Onlinewiederherstellungssequenz gestartet wird.

  • Wenn in der Datenbank Massenänderungen vorhanden sind, müssen alle Dateien online oderdefunctsein. (Dies bedeutet, dass die Datei kein Bestandteil der Datenbank mehr ist.)

Wenn diese Bedingungen nicht erfüllt sind, schlägt die Onlinewiederherstellungssequenz fehl.

Hinweis

Es empfiehlt sich, in das vollständige Wiederherstellungsmodell zu wechseln, bevor eine Onlinewiederherstellung gestartet wird. Weitere Informationen finden Sie unter Wiederherstellungsmodelle (SQL Server).

Informationen zum Ausführen einer Onlinewiederherstellung finden Sie unter Onlinewiederherstellungen (SQL Server).

Datenbankwiederherstellungsberater (SQL Server Management Studio)

Der Datenbankwiederherstellungsberater erleichtert das Erstellen von Wiederherstellungsplänen, durch die optimale folgerichtige Wiederherstellungssequenzen implementiert werden. Viele bekannte Probleme mit der Datenbankwiederherstellung und von Kunden angeforderte Erweiterungen wurden behoben. Mit dem Datenbankwiederherstellungsberater werden u. a. folgende wichtige Erweiterungen eingeführt:

  • Wiederherstellungsplan-Algorithmus: Der zum Erstellen von Wiederherstellungsplänen verwendete Algorithmus wurde erheblich verbessert, insbesondere bei komplexen Wiederherstellungsszenarien. Viele Edgefälle, einschließlich Freihandszenarien in Point-in-Time-Wiederherstellungen, werden effizienter behandelt als in früheren Versionen von SQL Server.

  • Zeitpunktwiederherstellungen: Der Datenbankwiederherstellungsberater vereinfacht erheblich das Wiederherstellen von Datenbanken zu einem bestimmten Zeitpunkt. Die Unterstützung für Zeitpunktwiederherstellungen wird durch eine visuelle Sicherungszeitachse deutlich verbessert. Diese visuelle Zeitachse macht es möglich, einen geeigneten Zeitpunkt als Zielwiederherstellungspunkt zum Wiederherstellen einer Datenbank zu ermitteln. Die Zeitachse erleichtert das Durchlaufen eines verzweigten Wiederherstellungspfads (ein Pfad, der Wiederherstellungsverzweigungen umfasst). Ein angegebener Zeitpunktwiederherstellungsplan schließt automatisch die Sicherungen ein, die für das Wiederherstellen zum Zielzeitpunkt (Datum und Uhrzeit) relevant sind. Informationen finden Sie unter Wiederherstellen einer SQL Server-Datenbank auf einen Zeitpunkt (Vollständiges Wiederherstellungsmodell).

Weitere Informationen finden Sie im Datenbankwiederherstellungsratgeber in den folgenden SQL Server-Blogs zur Verwaltbarkeit:

Verbesserte Wiederherstellung von Datenbanken

Die verbesserte Wiederherstellung von Datenbanken ist ab SQL Server 2019 (15.x) und in Azure SQL-Datenbank verfügbar. Die beschleunigte Datenbankwiederherstellung verbessert die Datenbankverfügbarkeit erheblich, insbesondere bei langen Transaktionen, indem der SQL Server-Datenbankmodul-Wiederherstellungsprozess neu gestaltet wird. Eine Datenbank, für die die verbesserte Wiederherstellung von Datenbanken aktiviert wurde, wird nach einem Failover oder einem nicht sauberen Herunterfahren deutlich schneller wiederhergestellt. Ist diese Option aktiviert, wird bei der verbesserten Wiederherstellung von Datenbanken auch das Rollback von abgebrochenen Transaktionen mit langer Ausführungszeit deutlich schneller.

Sie können die beschleunigte Datenbankwiederherstellung pro Datenbank auf SQL Server 2019 (15.x) mithilfe der folgenden Syntax aktivieren:

ALTER DATABASE [<db_name>] SET ACCELERATED_DATABASE_RECOVERY = ON;

Hinweis

Die beschleunigte Datenbankwiederherstellung ist in Azure SQL-Datenbank standardmäßig aktiviert.

Nächste Schritte