Beispiel: Schrittweise Wiederherstellung einer Datenbank (vollständiges Wiederherstellungsmodell)
Gilt für: SQL Server
Bei einer schrittweisen Wiederherstellungssequenz wird die Datenbank auf Dateigruppenebene stufenweise wiederhergestellt, wobei mit den primären Dateigruppen sowie mit den sekundären Dateigruppen mit Lese- und Schreibberechtigung begonnen wird.
In diesem Beispiel wird die adb
-Datenbank nach einem Notfall auf einem neuen Computer wiederhergestellt. Für die Datenbank wird das vollständige Wiederherstellungsmodell verwendet, weshalb vor dem Beginn der Wiederherstellung eine Protokollfragmentsicherung der Datenbank erstellt werden muss. Vor dem Notfall sind alle Dateigruppen online. Dateigruppe B
ist schreibgeschützt. Alle sekundären Dateigruppen müssen wiederhergestellt werden, aber sie werden in der Reihenfolge ihrer Wichtigkeit wiederhergestellt: A
(höchste Wichtigkeit), C
und schließlich B
. In diesem Beispiel gibt es vier Protokollsicherungen, darunter die Protokollfragmentsicherung.
Sicherung des Protokollfragments
Vor dem Wiederherstellen der Datenbank muss der Datenbankadministrator das Protokollfragment sichern. Weil die Datenbank beschädigt ist, muss zum Erstellen der Sicherung des Protokollfragments die NO_TRUNCATE-Option verwendet werden:
BACKUP LOG adb TO tailLogBackup WITH NORECOVERY, NO_TRUNCATE
Bei der Sicherung des Protokollfragments handelt es sich um die letzte Sicherung im Rahmen der folgenden Wiederherstellungssequenzen.
Wiederherstellen von Sequenzen
Hinweis
Die Syntax für eine Onlinewiederherstellungssequenz ist dieselbe wie bei einer Offlinewiederherstellungssequenz.
Teilweise Wiederherstellung der primären und sekundären Dateigruppe
A
.RESTORE DATABASE adb FILEGROUP='Primary' FROM backup1 WITH PARTIAL, NORECOVERY RESTORE DATABASE adb FILEGROUP='A' FROM backup2 WITH NORECOVERY RESTORE LOG adb FROM log_backup3 WITH NORECOVERY RESTORE LOG adb FROM log_backup4 WITH NORECOVERY RESTORE LOG adb FROM log_backup5 WITH NORECOVERY RESTORE LOG adb FROM tailLogBackup WITH RECOVERY
Onlinewiederherstellung der Dateigruppe
C
.Jetzt sind die primäre Dateigruppe und die sekundäre Dateigruppe
A
online verfügbar. Für die Dateien in den DateigruppenB
undC
steht die Wiederherstellung noch aus, d. h., die Dateigruppen sind noch offline.In Meldungen aus der letzten
RESTORE LOG
-Anweisung (in Schritt 1) wird darauf hingewiesen, dass Rollbacks für Transaktionen mit DateigruppeC
verzögert werden, da die Dateigruppe nicht verfügbar ist. Normale Vorgänge können zwar fortgesetzt werden, allerdings werden durch die Transaktionen Sperren eingerichtet, und Protokollkürzungen sind erst nach Abschluss des Rollbacks möglich.In der zweiten Wiederherstellungssequenz stellt der Administrator die Dateigruppe
C
wieder her:RESTORE DATABASE adb FILEGROUP='C' FROM backup2a WITH NORECOVERY RESTORE LOG adb FROM log_backup3 WITH NORECOVERY RESTORE LOG adb FROM log_backup4 WITH NORECOVERY RESTORE LOG adb FROM log_backup5 WITH NORECOVERY RESTORE LOG adb FROM tailLogBackup WITH RECOVERY
Die primäre Dateigruppe und die Dateigruppen
A
undC
sind zu diesem Zeitpunkt online. Für die Dateien in der DateigruppeB
steht weiterhin die Wiederherstellung aus; die Dateigruppe ist offline. Die verzögerten Transaktionen wurden aufgelöst, und die Protokollkürzungen werden vorgenommen.Onlinewiederherstellung der Dateigruppe
B
.
In der dritten Wiederherstellungssequenz stellt der Administrator die Dateigruppe B
wieder her: Die Sicherung von Dateigruppe B
wurde erstellt, nachdem die Dateigruppe schreibgeschützt wurde. Deshalb muss für diese Dateien bei der Wiederherstellung kein Rollforward ausgeführt werden.
RESTORE DATABASE adb FILEGROUP='B' FROM backup2b WITH RECOVERY
Alle Dateigruppen sind nun online.
Zusätzliche Beispiele
Weitere Informationen
BACKUP (Transact-SQL)
Onlinewiederherstellungen (SQL Server)
Anwenden von Transaktionsprotokollsicherungen (SQL Server)
RESTORE (Transact-SQL)
Schrittweise Wiederherstellungen (SQL Server)