Onlinewiederherstellungen [SQL Server]
Gilt für: SQL Server
Die Onlinewiederherstellung wird nur von der SQL Server Enterprise-Edition unterstützt. In dieser Edition erfolgen Datei- und Seitenwiederherstellungen sowie schrittweise Wiederherstellungen standardmäßig online. Dieses Thema ist nur für Datenbanken relevant, die mehrere Dateien oder Dateigruppen enthalten (und unter dem einfachen Wiederherstellungsmodell nur für schreibgeschützte Dateigruppen).
Die Wiederherstellung von Daten, während die Datenbank online ist, wird als Onlinewiederherstellungbezeichnet. Eine Datenbank gilt immer als online, wenn die primäre Dateigruppe online ist, selbst wenn eine oder mehrere der sekundären Dateigruppen offline sind. Bei jedem Wiederherstellungsmodell ist es möglich, eine Datei wiederherzustellen, die offline ist, während die Datenbank online ist. Im vollständigen Wiederherstellungsmodell können Sie auch Seiten wiederherstellen, während die Datenbank online ist.
Hinweis
Die Onlinewiederherstellung erfolgt in SQL Server Enterprise automatisch und erfordert keine Benutzeraktion. Wenn Sie keine Onlinewiederherstellung verwenden möchten, können Sie eine Datenbank offline schalten, bevor Sie eine Wiederherstellung starten. Weitere Informationen finden Sie unter Offlineschalten einer Datenbank oder Dateiweiter unten in diesem Thema.
Während einer Onlinedateiwiederherstellung ist jede Datei, die wiederhergestellt wird, sowie deren Dateigruppe offline. Wenn beim Starten einer Onlinewiederherstellung eine dieser Dateien online ist, schaltet die erste Wiederherstellungsanweisung die Dateigruppe der Datei offline. Dagegen ist während einer Onlineseitenwiederherstellung nur die Seite offline.
Zu jedem Onlinewiederherstellungsszenario gehören die folgenden grundlegenden Schritte:
Stellen Sie die Daten wieder her.
Wiederherstellen des Protokolls mit WITH RECOVERY für die letzte Protokollwiederherstellung. Damit werden die wiederhergestellten Daten online geschaltet.
Gelegentlich ist für eine Transaktion, für die kein Commit ausgeführt wurde, kein Rollback möglich, weil die für das Rollback erforderlichen Daten während des Starts offline sind. In diesem Fall wird die Transaktion verzögert. Weitere Informationen finden Sie unter Verzögerte Transaktionen (SQL Server).
Hinweis
Wenn für die Datenbank aktuell das massenprotokollierte Wiederherstellungsmodell verwendet wird, empfiehlt es sich, zum vollständigen Wiederherstellungsmodell zu wechseln, bevor Sie eine Onlinewiederherstellung starten. Weitere Informationen finden Sie unter Anzeigen oder Ändern des Wiederherstellungsmodells einer Datenbank (SQL Server).
Wichtig
Wenn die Sicherungen mit mehreren an den Server angeschlossenen Geräten vorgenommen wurden, darf während der Onlinewiederherstellung keines dieser Geräte fehlen.
Achtung
Bei der Verwendung von Momentaufnahmesicherungen kann keine Online Restoreausgeführt werden. Weitere Informationen zu Momentaufnahme-Sicherungenfinden Sie unter Dateimomentaufnahme-Sicherungen für Datenbankdateien in Azure.
Protokollsicherungen für die Onlinewiederherstellung
Bei einer Onlinewiederherstellung ist der Wiederherstellungspunkt der Punkt, an dem die wiederhergestellten Daten offline geschaltet oder zum letzten Mal mit einem Schreibschutz versehen wurden. Alle Transaktionsprotokollsicherungen, die zu diesem Wiederherstellungspunkt führen und diesen beinhalten, müssen verfügbar sein. Im Allgemeinen ist nach diesem Punkt eine Protokollsicherung erforderlich, damit der Wiederherstellungspunkt für die Datei abgedeckt ist. Die einzige Ausnahme stellt eine Onlinewiederherstellung schreibgeschützter Daten aus einer Datensicherung dar, die ausgeführt wurde, nachdem die Daten schreibgeschützt wurden. In diesem Fall müssen Sie nicht über eine Protokollsicherung verfügen.
Im Allgemeinen können Sie Transaktionsprotokollsicherungen ausführen, während die Datenbank online ist, selbst nach dem Start der Wiederherstellungssequenz. Der Ausführungszeitpunkt der letzten Protokollsicherung hängt von den Eigenschaften der wiederhergestellten Datei ab:
Für eine schreibgeschützte Onlinedatei können Sie die letzte Protokollsicherung, die für die Wiederherstellung erforderlich ist, vor oder während der ersten Wiederherstellungssequenz ausführen. Für eine schreibgeschützte Dateigruppe müssen möglicherweise keine Protokollsicherungen erstellt werden, wenn eine Datensicherung oder eine differenzielle Sicherung erstellt wurde, nachdem die Dateigruppe schreibgeschützt wurde.
Hinweis
Die vorherigen Informationen gelten auch für jede Offlinedatei.
Ein besonderer Fall liegt bei einer Datei mit Lese-/Schreibzugriff vor, die beim Ausführen der ersten Wiederherstellungsanweisung online war und die dann durch diese Wiederherstellungsanweisung automatisch offline geschaltet wurde. In diesem Fall müssen Sie eine Protokollsicherung während der ersten Wiederherstellungssequenz ausführen (die Sequenz mindestens einer RESTORE-Anweisung, die Daten wiederherstellt und einen Rollforward ausführt). Im Allgemeinen muss diese Protokollsicherung erfolgen, nachdem Sie alle vollständigen Sicherungen wiederherstellen und bevor Sie die Daten wiederherstellen. Wenn für eine bestimmte Dateigruppe jedoch mehrere Dateisicherungen vorliegen, ist der Minimalpunkt der Protokollsicherung der Zeitpunkt, nachdem die Dateigruppe offline geschaltet wurde. Diese Protokollsicherung, die nach dem Wiederherstellen der Daten ausgeführt wird, setzt an dem Punkt an, an dem die Datei offline geschaltet wurde. Die Protokollsicherung nach dem Wiederherstellen der Daten ist erforderlich, weil die SQL Server-Datenbank-Engine die Onlineprotokollierung nicht für eine Onlinewiederherstellung verwenden kann.
Hinweis
Die Datei kann auch vor der Wiederherstellungssequenz manuell offline geschaltet werden. Weitere Informationen finden Sie unter "Offlineschalten einer Datenbank oder Datei" weiter unten in diesem Thema.
Offlineschalten einer Datenbank oder Datei
Wenn Sie keine Onlinewiederherstellung verwenden möchten, können Sie die Datenbank offline schalten, bevor Sie die Wiederherstellungssequenz starten. Dazu können Sie eine der folgenden Methoden verwenden:
Bei jedem Wiederherstellungsmodell können Sie die Datenbank offline schalten, indem Sie die folgende ALTER DATABASE -Anweisung verwenden:
ALTER DATABASE database_name SET OFFLINE
Alternativ können Sie beim vollständigen Wiederherstellungsmodell eine Offlinewiederherstellung einer Datei oder Seite erzwingen, indem Sie die folgende BACKUP LOG -Anweisung verwenden, um die Datenbank in den Wiederherstellungszustand zu versetzen:
BACKUP LOG database_name WITH NORECOVERY.
Solange eine Datenbank offline bleibt, sind alle Wiederherstellungsvorgänge Offlinewiederherstellungen.
Beispiele
Hinweis
Die Syntax für eine Onlinewiederherstellungssequenz ist dieselbe wie bei einer Offlinewiederherstellungssequenz.
Beispiel: Schrittweise Wiederherstellung einer Datenbank (einfaches Wiederherstellungsmodell)
Beispiel: Schrittweise Wiederherstellung einer Datenbank (vollständiges Wiederherstellungsmodell)
Related Tasks
Weitere Informationen
Dateiwiederherstellungen (vollständiges Wiederherstellungsmodell)
Dateiwiederherstellungen (einfaches Wiederherstellungsmodell)
Wiederherstellung von Seiten (SQL Server)
Schrittweise Wiederherstellungen (SQL Server)
Übersicht über Wiederherstellungsvorgänge (SQL Server)