Freigeben über


Wiederherstellen einer differenziellen Datenbanksicherung (SQL Server)

In diesem Thema wird beschrieben, wie Sie eine differenzielle Datenbanksicherung in SQL Server 2014 mithilfe von SQL Server Management Studio oder Transact-SQL wiederherstellen.

In diesem Themenbereich

Bevor Sie beginnen

Einschränkungen und Beschränkungen

  • RESTORE ist in einer expliziten oder impliziten Transaktion nicht zulässig.

  • Sicherungen, die mit aktuelleren Versionen von SQL Server erstellt werden, können in früheren Versionen von SQL Servernicht wiederhergestellt werden.

  • In SQL Server 2014 können Sie eine Benutzerdatenbank aus einer Datenbanksicherung wiederherstellen, die mit SQL Server 2005 oder einer höheren Version erstellt wurde.

Voraussetzungen

  • Bevor Sie eine Datenbank wiederherstellen können, müssen Sie unter dem vollständigen oder massenprotokollierungsbasierten Wiederherstellungsmodell das aktive Transaktionsprotokoll (auch als Tail des Protokolls bezeichnet) sichern. Weitere Informationen finden Sie unter Sichern eines Transaktionsprotokolls (SQL Server).

Sicherheit

Erlaubnisse

Wenn die wiederhergestellte Datenbank nicht vorhanden ist, muss der Benutzer über CREATE DATABASE-Berechtigungen verfügen, um RESTORE ausführen zu können. Wenn die Datenbank vorhanden ist, werden standardmäßig Wiederherstellungsberechtigungen für Mitglieder der festen Serverrollen sysadmin und dbcreator sowie den Besitzer (dbo) der Datenbank erteilt (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 mit festen Datenbankrollen nur überprüft werden kann, wenn auf die Datenbank zugegriffen werden kann und dies nicht immer der Fall ist, wenn RESTORE ausgeführt wird, verfügen Mitglieder der db_owner festen Datenbankrolle nicht über WIEDERHERSTELLUNGSberechtigungen.

Verwendung von SQL Server Management Studio

So stellen Sie eine differenzielle Datenbanksicherung wieder her

  1. Nachdem Sie eine Verbindung mit der entsprechenden Instanz des Microsoft SQL Server-Datenbankmoduls hergestellt haben, klicken Sie im Objekt-Explorer auf den Servernamen, um die Serverstruktur zu erweitern.

  2. Erweitern Sie Datenbanken. Wählen Sie je nach Datenbank entweder eine Benutzerdatenbank aus, oder erweitern Sie Systemdatenbanken, und wählen Sie eine Systemdatenbank aus.

  3. Klicken Sie mit der rechten Maustaste auf die Datenbank, zeigen Sie auf Tasksund Wiederherstellung, und klicken Sie anschließend auf Datenbank.

  4. 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.

      Nachdem Sie die gewünschten Geräte zur Liste "Backup-Medien" hinzugefügt haben, klicken Sie 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.

  5. 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.

    Hinweis

    Um die Wiederherstellung zu einem bestimmten Zeitpunkt zu beenden, klicken Sie auf "Zeitachse" , um auf das Dialogfeld " Sicherungszeitachse " zuzugreifen. Hilfe zum Beenden einer Datenbankwiederherstellung zu einem bestimmten Zeitpunkt finden Sie unter Wiederherstellen einer SQL Server-Datenbank zu einem Zeitpunkt (vollständiges Wiederherstellungsmodell).

  6. Wählen Sie in den Sicherungssätzen zum Wiederherstellen des Rasters die Sicherungen über die differenzielle Sicherung aus, die Sie wiederherstellen möchten.

    Weitere Informationen zu den Spalten des Rasters Wiederherzustellende Sicherungssätze finden Sie unter Datenbank wiederherstellen (Seite Allgemein).

  7. 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)

    • Eingabeaufforderung vor dem Wiederherstellen der einzelnen Sicherungen

    • Zugriff auf die wiederhergestellte Datenbank einschränken (WITH RESTRICTED_USER)

    Weitere Informationen zu diesen Optionen finden Sie unter Datenbank wiederherstellen (Seite Optionen).

  8. 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, das die Datenbank betriebsbereit belässt, indem für Transaktionen ohne Commit ein Rollback ausgeführt wird. 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 belässt die Datenbank nicht betriebsbereit und führt kein Rollback für Transaktionen ohne Commit aus. Zusätzliche Transaktionsprotokolle können wiederhergestellt werden. Die Datenbank kann erst verwendet werden, wenn sie wiederhergestellt wurde.

    • RESTORE WITH STANDBY belässt die Datenbank im schreibgeschützten Modus. 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).

  9. Wiederherstellungsvorgänge schlagen fehl, wenn aktive Verbindungen mit der Datenbank vorhanden sind. Aktivieren Sie die Option Bestehende Verbindungen schließen, um sicherzustellen, dass alle aktiven Verbindungen zwischen Management Studio und der Datenbank geschlossen werden.

  10. 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.

  11. Optional können Sie die Seite "Dateien " verwenden, um die Datenbank an einem neuen Speicherort wiederherzustellen. Hilfe zum Verschieben einer Datenbank finden Sie unter Wiederherstellen einer Datenbank an einem neuen Speicherort (SQL Server).

  12. Klicke auf OK.

Verwenden von Transact-SQL

So stellen Sie eine differenzielle Datenbanksicherung wieder her

  1. Führen Sie die RESTORE DATABASE-Anweisung aus, die die NORECOVERY-Klausel angibt, um die vollständige Datenbanksicherung wiederherzustellen, die vor der differenziellen Datenbanksicherung liegt. Weitere Informationen finden Sie unter How to: Restore a Full Backup.

  2. Führen Sie die RESTORE DATABASE-Anweisung aus, um die differenzielle Datenbanksicherung wiederherzustellen, wobei Folgendes angegeben wird:

    • Der Name der Datenbank, auf die die differenzielle Datenbanksicherung angewendet wird.

    • Das Sicherungsgerät, von dem die differenzielle Datenbanksicherung wiederhergestellt wird.

    • Die NORECOVERY-Klausel, wenn Transaktionsprotokollsicherungen angewendet werden sollen, nachdem die differenzielle Datenbanksicherung wiederhergestellt wurde. Geben Sie andernfalls die RECOVERY-Klausel an.

  3. Mit dem vollständigen Wiederherstellungs- oder dem Massenprotokollierungsmodell stellt die Wiederherstellung einer differentialen Datenbanksicherung die Datenbank an dem Punkt wieder her, an dem die differentiale Datenbanksicherung abgeschlossen wurde. Um den Fehlerpunkt wiederherzustellen, müssen Sie alle Transaktionsprotokollsicherungen anwenden, die nach dem Erstellen der letzten differenziellen Datenbanksicherung erstellt wurden. Weitere Informationen finden Sie unter Anwenden von Transaktionsprotokollsicherungen (SQL Server).

Beispiele (Transact-SQL)

A. Wiederherstellen einer differenziellen Datenbanksicherung

In diesem Beispiel wird eine Datenbank und eine differenzielle Datenbanksicherung der MyAdvWorks Datenbank wiederhergestellt.

-- Assume the database is lost, and restore full database,   
-- specifying the original full database backup and NORECOVERY,   
-- which allows subsequent restore operations to proceed.  
RESTORE DATABASE MyAdvWorks  
   FROM MyAdvWorks_1  
   WITH NORECOVERY;  
GO  
-- Now restore the differential database backup, the second backup on   
-- the MyAdvWorks_1 backup device.  
RESTORE DATABASE MyAdvWorks  
   FROM MyAdvWorks_1  
   WITH FILE = 2,  
   RECOVERY;  
GO  

B. Wiederherstellen einer Datenbank, differenziellen Datenbank und Transaktionsprotokollsicherung

In diesem Beispiel wird eine Datenbank-, Differenzdatenbank- und Transaktionsprotokollsicherung der MyAdvWorks Datenbank wiederhergestellt.

-- Assume the database is lost at this point. Now restore the full   
-- database. Specify the original full database backup and NORECOVERY.  
-- NORECOVERY allows subsequent restore operations to proceed.  
RESTORE DATABASE MyAdvWorks  
   FROM MyAdvWorks_1  
   WITH NORECOVERY;  
GO  
-- Now restore the differential database backup, the second backup on   
-- the MyAdvWorks_1 backup device.  
RESTORE DATABASE MyAdvWorks  
   FROM MyAdvWorks_1  
   WITH FILE = 2,  
   NORECOVERY;  
GO  
-- Now restore each transaction log backup created after  
-- the differential database backup.  
RESTORE LOG MyAdvWorks  
   FROM MyAdvWorks_log1  
   WITH NORECOVERY;  
GO  
RESTORE LOG MyAdvWorks  
   FROM MyAdvWorks_log2  
   WITH RECOVERY;  
GO  

Verwandte Aufgaben

Siehe auch

Differenzielle Sicherungen (SQL Server)
RESTORE (Transact-SQL)