Wiederherstellen von Dateien und Dateigruppen (SQL Server)

Gilt für:SQL Server

Dieses Thema beschreibt, wie Sie Dateien und Dateigruppen in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL wiederherstellen.

In diesem Thema

Bevor Sie beginnen

Beschränkungen und Einschränkungen

  • Nur der mit der Wiederherstellung der Dateien und Dateigruppen betraute Systemadministrator darf zurzeit mit der wiederherzustellenden Datenbank arbeiten.

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

  • Die Datei muss im Rahmen des Modells der einfachen Wiederherstellung zu einer schreibgeschützten Dateigruppe gehören.

  • Beim vollständigen oder massenprotokollierten Wiederherstellungsmodell müssen Sie vor dem Wiederherstellen von Dateien das aktive Transaktionsprotokoll sichern (auch als Protokollende bezeichnet). Weitere Informationen finden Sie unter Sichern eines Transaktionsprotokolls (SQL Server).

  • Um eine verschlüsselte Datenbank wiederherstellen zu können, muss das Zertifikat oder der asymmetrische Schlüssel verfügbar sein, das oder der zum Verschlüsseln der Datenbank verwendet wurde. Ohne das Zertifikat oder den asymmetrischen Schlüssel kann die Datenbank nicht wiederhergestellt werden. Darum muss das Zertifikat, das zur Verschlüsselung des Verschlüsselungsschlüssels für die Datenbank verwendet wurde, so lange beibehalten werden, wie die Sicherung benötigt wird. Weitere Informationen finden Sie unter SQL Server Certificates and Asymmetric Keys.

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 Dateien und Dateigruppen wieder her

  1. Nachdem Sie sich mit der entsprechenden Instanz der SQL Server-Datenbank-Engine verbunden 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 Tasks, und klicken Sie dann auf Wiederherstellen.

  4. Klicken Sie auf Dateien und Dateigruppen. Daraufhin wird das Dialogfeld Dateien und Dateigruppen wiederherstellen geöffnet.

  5. Geben Sie auf der Seite Allgemein im Listenfeld In Datenbank die Datenbank an, die wiederhergestellt werden soll. Sie können eine neue Datenbank eingeben oder eine vorhandene Datenbank aus der Dropdownliste auswählen. Die Liste umfasst alle Datenbanken auf dem Server, mit Ausnahme der Datenbanken master und tempdb.

  6. Zum Festlegen von Quelle und Speicherort der wiederherzustellenden Sicherungssätze klicken Sie auf eine der folgenden Optionen:

    • Aus Datenbank

      Geben Sie im Listenfeld einen Datenbanknamen ein. Diese Liste enthält nur Datenbanken, die entsprechend dem Sicherungsverlauf von msdb gesichert wurden.

    • Von Gerät

      Klicken Sie auf die Schaltfläche zum Durchsuchen. Wählen Sie im Dialogfeld für das Angeben der Sicherungsgeräte einen der im Listenfeld Sicherungsmedientyp aufgeführten Medientypen aus. Klicken Sie zum Auswählen von einem oder mehreren Medien für das Listenfeld Sicherungsmedien auf Hinzufügen.

      Klicken Sie nach dem Hinzufügen der gewünschten Medien zum Listenfeld Sicherungsmedien auf OK , um zur Seite Allgemein zurückzukehren.

  7. Wählen Sie im Raster Wählen Sie die wiederherzustellenden Sicherungssätze aus die wiederherzustellenden Sicherungen aus. Mit diesem Raster werden die Sicherungen angezeigt, die für den angegebenen Speicherort verfügbar sind. Standardmäßig wird ein Wiederherstellungsplan vorgeschlagen. Sie können die Auswahl im Raster ändern, um den vorgeschlagenen Wiederherstellungsplan zu überschreiben. Alle Sicherungen, die von einer abgewählten Sicherung abhängen, werden automatisch ebenfalls abgewählt.

    Spaltenkopf Werte
    Wiederherstellen Die aktivierten Kontrollkästchen zeigen die wiederherzustellenden Sicherungssätze an.
    Name Name des Sicherungssatzes.
    Dateityp Gibt den Typ der Daten in der Sicherung an: Daten, Protokolloder Filestream-Daten. Daten, die in Tabellen enthalten sind, befinden sich in Daten -Dateien. Transaktionsprotokolldaten befinden sich in Protokoll -Dateien. Blobdaten (Binary Large Object), die im Dateisystem gespeichert werden, befinden sich in Filestreamdaten -Dateien.
    Typ Der Typ der ausgeführten Sicherung: Vollständig, Differenzielloder Transaktionsprotokoll.
    Server Name der Instanz des Datenbankmoduls, durch die der Sicherungsvorgang ausgeführt wurde.
    Logischer Name der Datei Der logische Name der Datei.
    Datenbank Name der an der Sicherungsoperation beteiligten Datenbank.
    Startdatum Datum und Uhrzeit des Sicherungsbeginns, entsprechend den Ländereinstellungen des Clients.
    Beendigungsdatum Datum und Uhrzeit des Endes des Sicherungsvorgangs, entsprechend den Ländereinstellungen des Clients.
    Größe Größe des Sicherungssatzes in Byte.
    Benutzername Name des Benutzers, der den Sicherungsvorgang ausgeführt hat.
  8. Zum Anzeigen oder Auswählen der erweiterten Optionen klicken Sie auf Optionen im Bereich Seite auswählen .

  9. Im Bereich Wiederherstellungsoptionen können Sie Ihren Anforderungen entsprechend aus den folgenden Optionen auswählen.

    Als Dateigruppe wiederherstellen
    Zeigt an, dass eine komplette Dateigruppe wiederhergestellt wird.

    Vorhandene Datenbank überschreiben
    Legt fest, dass beim Wiederherstellungsvorgang alle vorhandenen Datenbanken und die dazugehörigen Dateien überschrieben werden, selbst wenn bereits eine Datenbank oder Datei mit demselben Namen vorhanden ist.

    Das Auswählen dieser Option entspricht der Verwendung der REPLACE-Option in einer Transact-SQL-Anweisung RESTORE .

    Bestätigung vor Wiederherstellen jeder einzelnen Sicherung
    Fordert bei jedem Sicherungssatz eine Bestätigung vom Benutzer, bevor mit der Wiederherstellung begonnen wird.

    Diese Option ist insbesondere dann hilfreich, wenn Sie Bänder für verschiedene Mediensätze wechseln müssen, beispielsweise wenn der Server nur ein Bandgerät besitzt.

    Zugriff auf die wiederhergestellte Datenbank einschränken
    Macht die wiederhergestellte Datenbank nur Mitgliedern von db_owner, dbcreator oder sysadminverfügbar.

    Die Auswahl dieser Option entspricht der Verwendung der Option RESTRICTED_USER in einer Transact-SQL-Anweisung RESTORE.

  10. Optional: Sie können die Datenbank an einem neuen Speicherort wiederherstellen, indem Sie im Raster Datenbankdateien wiederherstellen als für jede Datei ein neues Wiederherstellungsziel angeben.

    Spaltenkopf Werte
    Ursprünglicher Dateiname Der vollständige Pfad einer Quellsicherungsdatei.
    Dateityp Gibt den Typ der Daten in der Sicherung an: Daten, Protokolloder Filestream-Daten. Daten, die in Tabellen enthalten sind, befinden sich in Daten -Dateien. Transaktionsprotokolldaten befinden sich in Protokoll -Dateien. Blobdaten (Binary Large Object), die im Dateisystem gespeichert werden, befinden sich in Filestreamdaten -Dateien.
    Wiederherstellen als Der vollständige Pfad der wiederherzustellenden Datenbankdatei. Um eine neue Wiederherstellungsdatei anzugeben, klicken Sie auf das Textfeld, und bearbeiten Sie den vorgeschlagenen Pfad und Dateinamen. Das Ändern des Pfads oder Dateinamens in der Spalte "Wiederherstellen als " entspricht der Verwendung der MOVE-Option in einer Transact-SQL-Anweisung RESTORE .
  11. Die Optionen im Bereich Wiederherstellungsstatus bestimmen den Status der Datenbank nach dem Wiederherstellungsvorgang.

Die Datenbank einsatzbereit belassen, indem nicht committete Transaktionen zurückgesetzt werden. Zusätzliche Transaktionsprotokolle können nicht wiederhergestellt werden. (RESTORE MIT WIEDERHERSTELLUNG)
Stellt die Datenbank wieder her. Dies ist die Standardeinstellung. Wählen Sie diese Option nur aus, wenn Sie alle benötigten Sicherungen jetzt wiederherstellen möchten. Diese Option entspricht der Angabe von WITH RECOVERY in einer Transact-SQL-Anweisung RESTORE .

Belassen Sie die Datenbank in einem nicht betriebsfähigen Zustand, und setzen Sie die nicht festgeschriebenen Transaktionen nicht zurück. Zusätzliche Transaktionsprotokolle können wiederhergestellt werden. (RESTORE MIT NORECOVERY)
Belässt die Datenbank im Wiederherstellungsstatus. Um die Datenbank wiederherzustellen, müssen Sie eine weitere Wiederherstellung mit der vorherigen RESTORE WITH RECOVERY-Option durchführen (siehe oben). Diese Option entspricht der Angabe von WITH NORECOVERY in einer Transact-SQL-Anweisung RESTORE .

Wenn Sie diese Option auswählen, ist die Option Replikationseinstellungen beibehalten nicht verfügbar.

Die Datenbank im schreibgeschützten Modus belassen. Setzen Sie die nicht festgeschriebenen Transaktionen zurück, speichern Sie den Rollback-Vorgang jedoch in einer Datei, damit die Wiederherstellung rückgängig gemacht werden kann. (RESTORE MIT STANDBY)
Belässt die Datenbank in einem Standbystatus. Diese Option entspricht der Angabe von WITH STANDBY in einer Transact-SQL-Anweisung RESTORE .

Bei Auswahl dieser Option müssen Sie eine Standbydatei angeben.

Rollback-Rückgängigdatei
Geben Sie im Textfeld Rollback-Undo-Datei einen Dateinamen für die Standbydatei an. Diese Option ist erforderlich, wenn Sie die Datenbank im schreibgeschützten Modus (RESTORE WITH STANDBY) belassen.

Verwenden von Transact-SQL

So stellen Sie Dateien und Dateigruppen wieder her

  1. Führen Sie die RESTOREDATABASE Anweisung aus, um die Sicherung der Datei und der Dateigruppe wiederherzustellen, und geben Sie Folgendes an:

    • Den Namen der wiederherzustellenden Datenbank.

    • Das Sicherungsmedium, von dem die vollständige Datenbanksicherung wiederhergestellt wird.

    • Die FILE-Klausel für jede wiederherzustellende Datei.

    • Die FILEGROUP-Klausel für jede wiederherzustellende Dateigruppe.

    • Die NORECOVERY-Klausel. Wenn die Dateien nach dem Erstellen der Sicherung nicht geändert wurden, geben Sie die RECOVERY-Klausel an.

  2. Wenn die Dateien nach dem Erstellen der Dateisicherung geändert wurden, führen Sie die RESTORE LOG-Anweisung aus, um die Transaktionsprotokollsicherung anzuwenden, und geben Sie Folgendes an:

    • Den Namen der Datenbank, auf die das Transaktionsprotokoll angewendet wird.

    • Das Sicherungsmedium, von dem die Transaktionsprotokollsicherung wiederhergestellt wird.

    • Verwenden Sie die NORECOVERY-Klausel, wenn Sie nach der aktuellen Transaktionsprotokollsicherung noch eine weitere anwenden möchten; geben Sie andernfalls die RECOVERY-Klausel an.

      Die gegebenenfalls angewendeten Transaktionsprotokollsicherungen müssen den Zeitpunkt, zu dem die Dateien und Dateigruppen gesichert wurden, bis hin zum Protokollende abdecken (es sei denn, ALLE Datenbankdateien werden wiederhergestellt).

Beispiel (Transact-SQL)

In diesem Beispiel werden die Dateien und Dateigruppen der MyDatabase -Datenbank wiederhergestellt. Zur Wiederherstellung der Datenbank zur aktuellen Zeit werden zwei Transaktionsprotokolle übernommen.

USE master;  
GO  
-- Restore the files and filegroups for MyDatabase.  
RESTORE DATABASE MyDatabase  
   FILE = 'MyDatabase_data_1',  
   FILEGROUP = 'new_customers',  
   FILE = 'MyDatabase_data_2',  
   FILEGROUP = 'first_qtr_sales'  
   FROM MyDatabase_1  
   WITH NORECOVERY;  
GO  
-- Apply the first transaction log backup.  
RESTORE LOG MyDatabase  
   FROM MyDatabase_log1  
   WITH NORECOVERY;  
GO  
-- Apply the last transaction log backup.  
RESTORE LOG MyDatabase  
   FROM MyDatabase_log2  
   WITH RECOVERY;  
GO  

Siehe auch

Wiederherstellen einer Datenbanksicherung mit SSMS
Sichern von Dateien und Dateigruppen (SQL Server)
Erstellen einer vollständigen Datenbanksicherung (SQL Server)
Sichern eines Transaktionsprotokolls (SQL Server)
Wiederherstellen einer Transaktionsprotokollsicherung (SQL Server)
RESTORE (Transact-SQL)