Vorgehensweise: Wiederherstellen einer Datenbank an einem neuen Speicherort und unter einem neuen Namen (Transact-SQL)

Aktualisiert: 14. April 2006

In diesem Thema erfahren Sie, wie Sie eine Datenbank an einem neuen Speicherort und optional unter einem neuen Namen wiederherstellen.

ms190447.security(de-de,SQL.90).gifSicherheitshinweis:
Es empfiehlt sich nicht, Datenbanken aus unbekannten oder nicht vertrauenswürdigen Quellen anzufügen oder wiederherzustellen. Solche Datenbanken können bösartigen Code enthalten, mit dem möglicherweise unbeabsichtigter Transact-SQL-Code ausgeführt wird oder Fehler verursacht werden, indem das Schema oder die physikalische Datenbankstruktur geändert wird. Bevor Sie eine Datenbank aus einer unbekannten oder nicht vertrauenswürdigen Quelle verwenden, führen Sie in der Datenbank auf einem Nichtproduktionsserver DBCC CHECKDB aus, und überprüfen Sie auch den Code der Datenbank, z. B. gespeicherte Prozeduren oder anderen benutzerdefinierten Code.

So stellen Sie eine Datenbank mit einem neuen Namen wieder her

  1. Führen Sie optional die RESTORE FILELISTONLY-Anweisung aus, um Anzahl und Namen der Dateien in der vollständigen Datenbanksicherung zu bestimmen.

  2. Führen Sie die RESTORE DATABASE-Anweisung aus, um die vollständige Datenbanksicherung wiederherzustellen, und geben Sie dabei Folgendes an:

    • Den neuen Namen der Datenbank
      ms190447.note(de-de,SQL.90).gifHinweis:
      Wenn Sie die Datenbank auf einer anderen Serverinstanz wiederherstellen, können Sie anstelle eines neuen Namens den ursprünglichen Namen weiterverwenden.
    • Das Sicherungsmedium, von dem die vollständige Datenbanksicherung wiederhergestellt wird
    • Die NORECOVERY-Klausel, wenn nach dem Wiederherstellen der Dateisicherungen Transaktionsprotokollsicherungen angewendet werden sollen. Geben Sie andernfalls die RECOVERY-Klausel an.
      Die ggf. angewendeten Transaktionsprotokollsicherungen müssen den Zeitpunkt einschließen, zu dem die Dateien gesichert wurden.
    • Die MOVE-Klausel für jede Datei, die an einem neuen Speicherort wiederhergestellt werden soll, wenn es die Dateinamen bereits gibt. Für Testzwecke kann es z. B. notwendig sein, eine Kopie einer vorhandenen Datenbank auf demselben Server zu erstellen. In diesem Fall sind die Datenbankdateien für die Originaldatenbank bereits vorhanden. Deshalb müssen andere Dateinamen angegeben werden, wenn die Datenbankkopie während des Wiederherstellungsvorgangs erstellt wird.
      Die MOVE-Klausel hat folgende Syntax:
      MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name'
      [ ,...n ] [ , ]
      Dabei ist logical_file_name_in_backup der Name einer Daten- oder Protokolldatei im Sicherungssatz und operating_system_file_name der Speicherort, an dem die Datei wiederhergestellt werden sollte. n ist ein Platzhalter, der angibt, dass Sie zusätzliche MOVE-Anweisungen angeben können. Geben Sie eine MOVE-Anweisung für jede logische Datei an, die Sie aus dem Sicherungssatz an einem neuen Speicherort wiederherstellen möchten.
      ms190447.note(de-de,SQL.90).gifHinweis:
      Mit RESTORE FILELISTONLY können Sie eine Liste abrufen, in der die logischen Dateien eines Sicherungssatzes aufgeführt sind.

Beispiel

In diesem Beispiel wird eine neue Datenbank namens MyAdvWorks erstellt. MyAdvWorks ist eine Kopie der vorhandenen AdventureWorks-Datenbank, die zwei Dateien umfasst: AdventureWorks_Data und AdventureWorks_Log. Da es die AdventureWorks-Datenbank bereits gibt, müssen die Dateien in der Sicherung während des Wiederherstellungsvorgangs verschoben werden. Die RESTORE FILELISTONLY-Anweisung wird verwendet, um die Anzahl und Namen der Dateien der Datenbank zu ermitteln, die wiederhergestellt wird.

ms190447.note(de-de,SQL.90).gifHinweis:
Ein Beispiel für das Erstellen einer vollständigen Sicherung der AdventureWorks-Datenbank finden Sie unter Vorgehensweise: Erstellen einer vollständigen Datenbanksicherung (Transact-SQL).
ms190447.note(de-de,SQL.90).gifHinweis:
In den Beispielen zum Sichern und Wiederherstellen des Transaktionsprotokolls (einschließlich der Zeitpunktwiederherstellungen) wird, wie im folgenden MyAdvWorks-Beispiel, die aus AdventureWorks erstellte MyAdvWorks_FullRM-Datenbank verwendet. Die resultierende MyAdvWorks_FullRM-Datenbank muss jedoch geändert werden, damit das Modell der vollständigen Wiederherstellung verwendet werden kann: ALTER DATABASE MyAdvWorks_FullRM SET RECOVERY FULL.
USE master
GO
-- First determine the number and names of the files in the backup.
-- AdventureWorks_Backup is the name of the backup device.
RESTORE FILELISTONLY
   FROM AdventureWorks_Backup
-- Restore the files for MyAdvWorks.
RESTORE DATABASE MyAdvWorks
   FROM AdventureWorks_Backup
   WITH RECOVERY,
   MOVE 'AdventureWorks_Data' TO 'D:\MyData\MyAdvWorks_Data.mdf', 
   MOVE 'AdventureWorks_Log' TO 'F:\MyLog\MyAdvWorks_Log.ldf'
GO

Siehe auch

Konzepte

Verwalten von Metadaten beim Bereitstellen einer Datenbank auf einer anderen Serverinstanz
Sicherheitsüberlegungen für Sicherungen und Wiederherstellungen
Kopieren von Datenbanken durch Sichern und Wiederherstellen

Andere Ressourcen

RESTORE (Transact-SQL)
SQL Server Management Studio-Lernprogramm

Hilfe und Informationen

Informationsquellen für SQL Server 2005