Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Thema wird beschrieben, wie Sie eine Datenbank mithilfe von SQL Server Management Studio oder Transact-SQL zu einem bestimmten Zeitpunkt in SQL Server 2014 wiederherstellen. Dieses Thema ist nur für SQL Server-Datenbanken relevant, die das vollständige oder massenprotokollierte Wiederherstellungsmodell verwenden.
Wichtig
Wenn jedoch beim massenprotokollierten Wiederherstellungsmodell die Protokollsicherung massenprotokollierte Änderungen enthält, ist die Wiederherstellung bis zu einem bestimmten Zeitpunkt nicht möglich. Die Datenbank muss bis zum Ende der Transaktionsprotokollsicherung wiederhergestellt werden.
Vorbereitungen:
Wiederherstellen einer SQL Server-Datenbank zu einem bestimmten Zeitpunkt mit:
Vorbereitungen
Empfehlungen
Verwenden von STANDBY zum Finden eines unbekannten Zeitpunkts
Frühes Angeben des Zeitpunkts in einer Wiederherstellungssequenz
Sicherheit
Berechtigungen
Wenn die wiederherzustellende Datenbank nicht existiert, muss der Benutzer über die Berechtigungen CREATE DATABASE verfügen, um RESTORE ausführen zu können. Wenn die Datenbank vorhanden ist, RESTORE gelten standardmäßig Berechtigungen für Mitglieder der festen Serverrollen sysadmin und dbcreator sowie für den Besitzer (dbo) der Datenbank (bei der Option FROM DATABASE_SNAPSHOT ist die Datenbank immer vorhanden).
RESTORE Berechtigungen werden Rollen zugewiesen, in denen Mitgliedschaftsinformationen immer für den Server verfügbar sind. Da die Mitgliedschaft in einer festen Datenbankrolle nur überprüft werden kann, wenn die Datenbank zugänglich und unbeschädigt ist, was bei der Ausführung von RESTORE nicht immer der Fall ist, verfügen Mitglieder der festen Datenbankrolle db_owner nicht über die Berechtigungen RESTORE.
Verwendung von SQL Server Management Studio
So stellen Sie eine Datenbank bis zu einem Zeitpunkt wieder her
Verbinden Sie sich im Objekt-Explorer mit der entsprechenden Instanz der SQL Server-Datenbank-Engine und erweitern Sie die Serverstruktur.
Erweitern Sie Datenbanken. Wählen Sie je nach Datenbank entweder eine Benutzerdatenbank aus, oder erweitern Sie Systemdatenbanken, und wählen Sie eine Systemdatenbank aus.
Klicken Sie mit der rechten Maustaste auf die Datenbank, zeigen Sie auf Tasksund Wiederherstellung, und klicken Sie anschließend auf Datenbank.
Legen Sie Quelle und Speicherort der wiederherzustellenden Sicherungssätze auf der Seite Allgemein mithilfe des Abschnitts Quelle fest. Wählen Sie eine der folgenden Optionen aus:
Datenbank
Wählen Sie die wiederherzustellende Datenbank aus der Dropdownliste aus. Die Liste enthält nur Datenbanken, die entsprechend dem Sicherungsverlauf von msdb gesichert wurden.
Hinweis
Wenn die Sicherung von einem anderen Server abgerufen wird, verfügt der Zielserver über keine Sicherungsverlaufsinformationen für die angegebene Datenbank. Wählen Sie in diesem Fall Sicherungsmedium aus, um die wiederherzustellende Datei oder das Medium manuell anzugeben.
Gerät
Klicken Sie auf die Schaltfläche zum Durchsuchen (...), um das Dialogfeld Sicherungsmedien auswählen zu öffnen. Wählen Sie im Feld Sicherungsmedientyp einen der aufgeführten Medientypen aus. Wenn Sie ein oder mehrere Medien für das Feld Sicherungsmedien auswählen möchten, klicken Sie auf Hinzufügen.
Klicken Sie nach dem Hinzufügen der gewünschten Medien zum Listenfeld Sicherungsmedien auf OK , um zur Seite Allgemein zurückzukehren.
Wählen Sie im Listenfeld Quelle: Sicherungsmedium: Datenbank den Namen der Datenbank aus, die wiederhergestellt werden soll.
Hinweis Diese Liste ist nur verfügbar, wenn Sicherungsmedium ausgewählt wird. Nur Datenbanken mit Sicherungen auf dem ausgewählten Medium stehen zur Verfügung.
Im Abschnitt Ziel wird das Feld Datenbank automatisch mit dem Namen der Datenbank aufgefüllt, die wiederhergestellt werden soll. Geben Sie zum Ändern des Datenbanknamens den neuen Namen ins Feld Datenbank ein.
Klicken Sie auf Zeitachse , um auf das Dialogfeld Sicherungszeitachse zuzugreifen.
Klicken Sie im Abschnitt Wiederherstellen in auf Bestimmtes Datum und bestimmte Uhrzeit.
Verwenden Sie die Felder Datum und Uhrzeit oder den Schieberegler, um ein bestimmtes Datum und eine bestimmte Uhrzeit anzugeben, bis zu dem die Wiederherstellung ausgeführt werden soll. Klicken Sie auf OK.
Hinweis
Ändern Sie im Feld Zeitachsenintervall die auf der Zeitachse angezeigte Zeitdauer.
Nachdem Sie den gewünschten Zeitpunkt für die Wiederherstellung angegeben haben, stellt der Datenbankwiederherstellungsberater sicher, dass die Spalte Wiederherstellen des Rasters Wiederherzustellende Sicherungssätze nur die Sicherungen angezeigt, die für die Wiederherstellung bis zu diesem Zeitpunkt benötigt werden. Die ausgewählten Sicherungen machen den empfohlenen Wiederherstellungsplan für Ihre Zeitpunktwiederherstellung aus. Verwenden Sie nach Möglichkeit nur die für diesen Wiederherstellungsvorgang ausgewählten Sicherungen.
Weitere Informationen zu den Spalten des Rasters Wiederherzustellende Sicherungssätze finden Sie unter Datenbank wiederherstellen (Seite Allgemein). Informationen zum Datenbank Wiederherstellungs-Berater finden Sie unter Übersicht über Wiederherstellungsvorgänge (SQL Server).
Auf der Seite Optionen im Bereich Wiederherstellungsoptionen können Sie entsprechend Ihren Anforderungen die folgenden Optionen auswählen:
Vorhandene Datenbank überschreiben (WITH REPLACE)
Replikationseinstellungen beibehalten (WITH KEEP_REPLICATION)
Zugriff auf die wiederhergestellte Datenbank einschränken (WITH RESTRICTED_USER)
Weitere Informationen zu diesen Optionen finden Sie unter Datenbank wiederherstellen (Seite Optionen).
Aktivieren Sie eine Option für das Feld Wiederherstellungsstatus . In diesem Feld wird der Status der Datenbank nach dem Wiederherstellungsvorgang bestimmt.
RESTORE WITH RECOVERY ist das Standardverhalten, bei dem die Datenbank einsatzbereit bleibt, indem nicht festgeschriebene Transaktionen zurückgesetzt werden. Zusätzliche Transaktionsprotokolle können nicht wiederhergestellt werden. Wählen Sie diese Option nur aus, wenn Sie alle benötigten Sicherungen jetzt wiederherstellen möchten.
RESTORE WITH NORECOVERY, wodurch die Datenbank nicht betriebsbereit bleibt und die nicht festgeschriebenen Transaktionen nicht zurückgesetzt werden. Zusätzliche Transaktionsprotokolle können wiederhergestellt werden. Die Datenbank kann erst verwendet werden, wenn sie wiederhergestellt wurde.
RESTORE WITH STANDBY wodurch die Datenbank im schreibgeschützten Modus verbleibt. Diese Option macht Transaktionen rückgängig, für die noch kein Commit ausgeführt wurde, speichert die Umkehraktionen aber in einer Standbydatei, damit die Auswirkungen der Wiederherstellung rückgängig gemacht werden können.
Beschreibungen der Optionen für den Bereich finden Sie unter Datenbank wiederherstellen (Seite Optionen).
Erstellen der Sicherung des Protokollfragments vor dem Wiederherstellen wird ausgewählt, wenn es für den ausgewählten Zeitpunkt erforderlich ist. Sie müssen diese Einstellung nicht ändern, können das Protokollfragment jedoch sichern, auch wenn es nicht erforderlich ist.
Bei Wiederherstellungsvorgängen treten möglicherweise Fehler auf, wenn aktive Verbindungen zur Datenbank bestehen. Aktivieren Sie die Option Bestehende Verbindungen schließen, um sicherzustellen, dass alle aktiven Verbindungen zwischen Management Studio und der Datenbank geschlossen werden. Durch die Aktivierung dieses Kontrollkästchens wechselt die Datenbank in einen Einzelbenutzermodus, bevor Wiederherstellungsvorgänge ausgeführt werden. Außerdem wird dadurch die Datenbank auf einen Multibenutzermodus festgelegt, wenn der Vorgang abgeschlossen ist.
Wählen Sie Bestätigung vor Wiederherstellen jeder einzelnen Sicherung aus, wenn Sie zwischen jedem Wiederherstellungsvorgang zur Bestätigung aufgefordert werden möchten. Dies ist in der Regel nur bei großen Datenbanken und bei der gewünschten Überwachung des Status des Wiederherstellungsvorgangs erforderlich.
Verwenden von Transact-SQL
Vorbereitung
Die Wiederherstellung zu einem bestimmten Zeitpunkt erfolgt immer aus einer Protokollsicherung. In jeder RESTORE LOG-Anweisung der Wiederherstellungssequenz müssen Sie Ihre Zielzeit oder Transaktion in derselben STOPAT-Klausel angeben. Als Voraussetzung für eine Zeitpunktwiederherstellung müssen Sie zuerst eine vollständige Datenbanksicherung wiederherstellen, deren Endpunkt vor dem Zielwiederherstellungszeitpunkt liegt. Diese vollständige Datenbanksicherung kann älter als die letzte vollständige Datenbanksicherung sein, solange Sie dann jede nachfolgende Protokollsicherung wiederherstellen, bis zu und einschließlich der Protokollsicherung, die den Zielzeitpunkt enthält.
Um zu ermitteln, welche Datenbanksicherung wiederhergestellt werden soll, können Sie optional Ihre WITH STOPAT-Klausel in Ihrer RESTOREDATABASE Anweisung angeben, um einen Fehler auszuheben, wenn eine Datensicherung zu kürzlich für die angegebene Zielzeit ist. Die vollständige Datensicherung wird immer wiederhergestellt, auch wenn sie den Zielzeitpunkt enthält.
Allgemeine Informationen Transact-SQL-Syntax
RESTORE LOG database_name FROM <backup_device> MIT STOPAT =time, WIEDERHERSTELLUNG...
Der Wiederherstellungspunkt ist der neueste Transaktions-Commit, der zum zeitpunkt oder vor dem wert aufgetreten ist, der datetime angegeben wird.
Wenn Sie nur die Änderungen vor einem bestimmten Zeitpunkt wiederherstellen möchten, geben Sie für die einzelnen Sicherungen, die Sie wiederherstellen, WITH STOPAT =time an. Damit stellen Sie sicher, dass der Zielzeitpunkt nicht überschritten wird.
So stellen Sie eine Datenbank bis zu einem Zeitpunkt wieder her
Hinweis
Ein Beispiel für diese Prozedur finden Sie weiter unten in diesem Abschnitt unter Beispiel (Transact-SQL).
Stellen Sie eine Verbindung mit der Serverinstanz her, auf der Sie die Datenbank wiederherstellen möchten.
Führen Sie die RESTOREDATABASE Anweisung unter Verwendung der Option NORECOVERY aus.
Hinweis
Wenn in einer Teilwiederherstellungssequenz eine FILESTREAM -Dateigruppe ausgeschlossen wird, wird die Wiederherstellung bis zu einem bestimmten Zeitpunkt nicht unterstützt. Sie können das Fortsetzen der Wiederherstellungssequenz erzwingen. Die FILESTREAM-Dateigruppen, die aus Ihrer RESTORE Anweisung weggelassen werden, können jedoch nie wiederhergestellt werden. Um eine Point-in-Time-Wiederherstellung zu erzwingen, geben Sie die option CONTINUE_AFTER_ERROR zusammen mit der Option STOPAT, STOPATMARK oder STOPBEFOREMARK an, die Sie auch in den nachfolgenden RESTORE LOG-Anweisungen angeben müssen. Wenn Sie CONTINUE_AFTER_ERROR angeben, ist die Teilwiederherstellungssequenz erfolgreich, und die FILESTREAM-Dateigruppe wird nicht mehr wiederherstellbar.
Stellen Sie ggf. die letzte differenzielle Datenbanksicherung wieder her, ohne die Datenbank wiederherzustellen (RESTOREDATABASEdatabase_name FROM backup_device WITH NORECOVERY).
Wenden Sie jede Transaktionsprotokollsicherung in derselben Reihenfolge an, in der sie erstellt wurden, und geben Sie die Uhrzeit an, zu der Sie das Wiederherstellen des Protokolls beenden möchten (RESTOREDATABASEdatabase_name FROM <backup_device> WITH STOPAT**=
time,** RECOVERY).Hinweis
Die Optionen RECOVERY und STOPAT. Wenn die Transaktionsprotokollsicherung den geforderten Zeitpunkt nicht enthält (z. B. wenn der angegebene Zeitpunkt hinter dem Zeitpunkt liegt, bis zu dem das Transaktionsprotokoll reicht), wird eine Warnung erzeugt, und die Datenbank wird nicht wiederhergestellt.
Beispiel (Transact-SQL)
Im folgenden Beispiel wird eine Datenbank in den am 12:00 AM um April 15, 2020 bestehenden Status wiederhergestellt und ein Wiederherstellungsvorgang gezeigt, der mehrere Protokollsicherungen umfasst. Auf dem Sicherungsmedium ( AdventureWorksBackups) ist die wiederherzustellende vollständige Datenbanksicherung der dritte Sicherungssatz (FILE = 3), die erste Protokollsicherung ist der vierte Sicherungssatz (FILE = 4), und die zweite Protokollsicherung ist der fünfte Sicherungssatz (FILE = 5).
Wichtig
Die AdventureWorks2012-Datenbank verwendet das einfache Wiederherstellungsmodell. Um Protokollsicherungen zu ermöglichen, wurde für die Datenbank vor dem Erstellen einer vollständigen Datenbanksicherung mithilfe von ALTER DATABASE AdventureWorks SET RECOVERY FULLdie Verwendung des vollständigen Wiederherstellungsmodells festgelegt.
RESTORE DATABASE AdventureWorks
FROM AdventureWorksBackups
WITH FILE=3, NORECOVERY;
RESTORE LOG AdventureWorks
FROM AdventureWorksBackups
WITH FILE=4, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM';
RESTORE LOG AdventureWorks
FROM AdventureWorksBackups
WITH FILE=5, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM';
RESTORE DATABASE AdventureWorks WITH RECOVERY;
GO
Verwandte Aufgaben
Wiederherstellen einer Datenbanksicherung (SQL Server Management Studio)
Wiederherstellen einer Datenbank bis zu einer markierten Transaktion (SQL Server Management Studio)
Weitere Informationen
backupset (Transact-SQL)
RESTORE (Transact-SQL)
RESTORE HEADERONLY (Transact-SQL)