(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Wiederherstellen einer Datenbank zu einer Datenbank-Momentaufnahme

Themenstatus: Einige Informationen in diesem Thema sind vorläufig und können in zukünftigen Versionen geändert werden. In den Vorabinformationen werden neue Funktionen oder Änderungen an vorhandenen Funktionen in Microsoft SQL Server 2014 beschrieben.

Wenn Daten in einer Onlinedatenbank beschädigt werden, empfiehlt es sich gelegentlich, die Datenbank aus einer Datenbank-Momentaufnahme eines Zeitpunkts vor der Beschädigung wiederherzustellen, anstatt die Datenbank aus einer Sicherungskopie wiederherzustellen. Durch das Wiederherstellen einer Datenbank kann beispielsweise ein kürzlich zurückliegender, schwerwiegender Benutzerfehler (z. B. eine gelöschte Tabelle) rückgängig gemacht werden. Alle nach Erstellung der Momentaufnahme vorgenommenen Änderungen gehen jedoch verloren.

Einschränkungen

Die Wiederherstellung wird unter folgenden Bedingungen nicht unterstützt:

  • Die Datenbank darf derzeit nur über eine Datenbank-Momentaufnahme verfügen, mit der die Wiederherstellung ausgeführt werden soll.

  • Die Datenbank enthält schreibgeschützte oder komprimierte Dateigruppen.

  • Alle Dateien sind nun offline, waren jedoch beim Erstellen der Momentaufnahme online.

Beachten Sie folgende Einschränkungen, bevor Sie eine Wiederherstellung aus einer Datenbank-Momentaufnahme ausführen:

  • Die Wiederherstellung bezieht sich nicht auf die Wiederherstellung von Medien. . Eine Datenbank-Momentaufnahme ist eine unvollständige Kopie der Datenbankdateien. Wenn also die Datenbank oder die Datenbank-Momentaufnahme beschädigt wurde, ist die Wiederherstellung aus einer Momentaufnahme wahrscheinlich unmöglich. Zudem ist es eher unwahrscheinlich, dass das Problem durch eine Wiederherstellung im Falle einer Beschädigung behoben wird, selbst wenn eine Wiederherstellung möglich ist. Regelmäßige Sicherungen und Tests des Wiederherstellungsplans sind deshalb für den Schutz einer Datenbank unverzichtbar. Weitere Informationen finden Sie unter Sichern und Wiederherstellen von SQL Server-Datenbanken.

    Hinweis Hinweis

    Wenn Sie die Quelldatenbank zu dem Zeitpunkt wiederherstellen müssen, an dem Sie eine Datenbank-Momentaufnahme erstellt haben, nutzen Sie das Modell der vollständigen Wiederherstellung, und implementieren Sie eine Sicherungsrichtlinie, die Ihnen dies ermöglicht.

  • Die ursprüngliche Quelldatenbank wird von der wiederhergestellten Datenbank überschrieben, sodass sämtliche Aktualisierungen der Datenbank seit der Erstellung der Momentaufnahme verloren gehen.

  • Die bisherige Protokolldatei wird bei der Wiederherstellung ebenfalls überschrieben, und das Protokoll wird neu erstellt. Daher ist kein Rollforward der wiederhergestellten Datenbank bis zum Zeitpunkt des Benutzerfehlers möglich. Es empfiehlt sich somit, dass Sie das Protokoll vor dem Wiederherstellen einer Datenbank sichern.

    Hinweis Hinweis

    Es ist zwar nicht möglich, das ursprüngliche Protokoll wiederherzustellen und damit ein Rollforward der Datenbank auszuführen. Die Angaben in der ursprünglichen Protokolldatei können jedoch beim Rekonstruieren verlorener Daten helfen.

  • Durch Zurückkehren wird die Protokollsicherungskette unterbrochen. Bevor Sie also eine Protokollsicherung der Datenbank anfertigen können, muss daher eine vollständige Datenbank- oder Dateisicherung erfolgen. Wir empfehlen eine vollständige Datenbanksicherung.

  • Während des Zurückkehrens sind sowohl die Momentaufnahme als auch die Quelldatenbank nicht verfügbar. Die Quelldatenbank und die Momentaufnahme sind jeweils gekennzeichnet, dass derzeit eine Wiederherstellung ausgeführt wird. Tritt ein Fehler beim Zurückkehren auf, wird beim Neustart der Datenbank versucht, das Zurückkehren abzuschließen.

  • Die Metadaten einer Datenbank nach dem Zurückkehren entsprechen den Metadaten zum Zeitpunkt der Momentaufnahme.

  • Durch das Wiederherstellen werden alle Volltextkataloge gelöscht.

[Nach oben]

Voraussetzungen

Stellen Sie sicher, dass die Quelldatenbank und die Datenbank-Momentaufnahme die folgenden Voraussetzungen erfüllen:

[Nach oben]

Sicherheit

Berechtigungen

Alle Benutzer, die über RESTORE DATABASE-Berechtigungen für die Quelldatenbank verfügen, können diese in dem Zustand zum Zeitpunkt der Erstellung der Datenbank-Momentaufnahme wiederherstellen.

[Nach oben]

So stellen Sie eine Datenbank aus zu einer Datenbank-Momentaufnahme wieder her

Hinweis Hinweis

Ein Beispiel für diese Prozedur finden Sie in Beispiele (Transact-SQL) an späterer Stelle in diesem Abschnitt.

  1. Ermitteln Sie die Datenbank-Momentaufnahme, aus der Sie die Datenbank wiederherstellen möchten. Sie können die Momentaufnahmen einer Datenbank in SQL Server Management Studio anzeigen (siehe Anzeigen einer Datenbank-Momentaufnahme (SQL Server)). Zudem können Sie die Quelldatenbank einer Sicht anhand der source_database_id-Spalte der sys.databases (Transact-SQL)-Katalogsicht identifizieren.

  2. Löschen Sie alle anderen Datenbankmomentaufnahmen.

    Weitere Informationen zum Löschen von Momentaufnahmen finden Sie unter Löschen einer Datenbankmomentaufnahme (Transact-SQL). Verwendet die Datenbank das vollständige Wiederherstellungsmodell sollten Sie das Protokoll vor dem Wiederherstellen sichern. Weitere Informationen finden Sie unter Sichern eines Transaktionsprotokolls (SQL Server) oder Sichern des Transaktionsprotokolls bei beschädigter Datenbank (SQL Server).

  3. Führen Sie den Wiederherstellungsvorgang aus.

    Für einen Wiederherstellungsvorgang sind RESTORE DATABASE-Berechtigungen für die Quelldatenbank erforderlich. Verwenden Sie zum Wiederherstellen der Datenbank die folgende Transact-SQL-Anweisung:

    RESTORE DATABASE database_name FROM DATABASE_SNAPSHOT =database_snapshot_name

    Dabei ist database_name die Quelldatenbank und database_snapshot_name der Name der Momentaufnahme, aus der die Datenbank wiederhergestellt werden soll. Beachten Sie, dass Sie in dieser Anweisung einen Momentaufnahmenamen statt eines Sicherungsmediums angeben müssen.

    Weitere Informationen finden Sie unter RESTORE (Transact-SQL).

    Hinweis Hinweis

    Während des Wiederherstellungsvorgangs stehen weder die Momentaufnahme noch die Quelldatenbank zur Verfügung. Die Quelldatenbank und die Momentaufnahme sind als von einem Wiederherstellungsvorgang betroffen gekennzeichnet. Falls während der Wiederherstellung ein Fehler auftritt, wird beim nächsten Start der Datenbank versucht, die Wiederherstellung abzuschließen.

  4. Hat sich seit der Erstellung der Datenbankmomentaufnahme der Datenbankbesitzer geändert, ist es möglicherweise sinnvoll, den Datenbankbesitzer der wiederhergestellten Datenbank zu aktualisieren.

    Hinweis Hinweis

    In der wiederhergestellten Datenbank bleiben die Berechtigungen und die Konfiguration (wie z. B. Datenbankbesitzer und Wiederherstellungsmodell) der Datenbankmomentaufnahme erhalten.

  5. Starten Sie die Datenbank.

  6. Sie haben die Option, die wiederhergestellte Datenbank zu sichern; dies empfiehlt sich besonders, wenn das vollständige (oder das massenprotokollierte) Wiederherstellungsmodell für die Datenbank verwendet wird. Informationen zum Sichern einer Datenbank finden Sie unter Erstellen einer vollständigen Datenbanksicherung (SQL Server).

[Nach oben]

Beispiele (Transact-SQL)

Dieser Abschnitt enthält die folgenden Beispiele für das Wiederherstellen einer Datenbank aus einer Datenbank-Momentaufnahme:

A.Wiederherstellen einer Momentaufnahme für die AdventureWorks-Datenbank

In diesem Beispiel wird davon ausgegangen, dass derzeit in der AdventureWorks2012 -Datenbank nur eine Momentaufnahme vorhanden ist. Das Beispiel, mit dem die Momentaufnahme erstellt wird, zu dem die Datenbank hier wiederhergestellt wird, finden Sie unter Erstellen einer Datenbankmomentaufnahme (Transact-SQL).

USE master;
-- Reverting AdventureWorks to AdventureWorks_dbss1800
RESTORE DATABASE AdventureWorks from 
DATABASE_SNAPSHOT = 'AdventureWorks_dbss1800';
GO

B.Wiederherstellen einer Momentaufnahme für die Sales-Datenbank

In diesem Beispiel wird davon ausgegangen, dass derzeit zwei Momentaufnahmen für die Sales-Datenbank vorhanden sind: sales_snapshot0600 und sales_snapshot1200. Durch dieses Beispiel wird die ältere Momentaufnahme gelöscht und die Datenbank mithilfe der aktuelleren Momentaufnahme wiederhergestellt.

Den Code zum Erstellen der Beispieldatenbank und der Momentaufnahmen, für die dieses Beispiel gilt, finden Sie wie folgt:

--Test to see if sales_snapshot0600 exists and if it 
-- does, delete it.
IF EXISTS (SELECT dbid FROM sys.databases
    WHERE NAME='sales_snapshot0600')
    DROP DATABASE SalesSnapshot0600;
GO
-- Reverting Sales to sales_snapshot1200
USE master;
RESTORE DATABASE Sales FROM DATABASE_SNAPSHOT = 'sales_snapshot1200';
GO

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Nach oben]

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft