Ausführen einer vollständigen Datenbankwiederherstellung (einfaches Wiederherstellungsmodell)

Das Ziel einer vollständigen Datenbankwiederherstellung besteht in der Wiederherstellung der gesamten Datenbank. Die gesamte Datenbank ist für die Dauer der Wiederherstellung offline. Bevor Teile der Datenbank wieder online zur Verfügung gestellt werden können, müssen alle Daten bis zu einem konsistenten Zeitpunkt wiederhergestellt werden. Ein solcher Punkt ist gegeben, wenn für alle Teile der Datenbank derselbe Zeitpunkt gilt und keine Transaktionen ohne Commit vorhanden sind.

Im einfachen Wiederherstellungsmodell kann die Datenbank nicht bis zu einem bestimmten Zeitpunkt innerhalb eines bestimmten Sicherungsvorgangs wiederhergestellt werden.

Wiederherstellen einer gesamten Datenbank

  1. Für eine vollständige Datenbankwiederherstellung mit dem einfachen Wiederherstellungsmodell sind nur ein oder zwei RESTORE-Anweisungen erforderlich, je nachdem, ob eine differenzielle Datenbanksicherung wiederhergestellt werden muss.

Stellen Sie lediglich die letzte Sicherung wieder her, wie in der folgenden Abbildung dargestellt, wenn Sie nur eine vollständige Datenbanksicherung verwenden.

Wiederherstellung nur einer vollständigen Datenbanksicherung

Wenn Sie auch eine differenzielle Datenbanksicherung verwenden, stellen Sie die letzte vollständige Datenbanksicherung wieder her, ohne die Datenbank wiederherzustellen. Anschließend stellen Sie die letzte differenzielle Datenbanksicherung wieder her und stellen die Datenbank wieder her. Die folgende Abbildung veranschaulicht diesen Prozess.

Wiederherstellung von vollständigen und differenziellen Datenbanksicherungen

Wenn Sie eine Datenbank vollständig wiederherstellen, sollte eine einzige Wiederherstellungssequenz verwendet werden. Im folgenden Beispiel werden die wichtigen Optionen in einer Wiederherstellungssequenz für das Szenario der vollständigen Datenbankwiederherstellung veranschaulicht. Eine Wiederherstellungssequenz besteht aus einem oder mehreren Wiederherstellungsvorgängen, bei denen Daten durch eine oder mehrere Wiederherstellungsphasen verschoben werden. Hierfür unwichtige Syntax und Informationen werden ausgelassen.

Die Datenbank wird entsprechend dem Status einer vollständigen Datenbanksicherung wiederhergestellt. Wenn Sie eine Datenbank wiederherstellen, wird empfohlen, die Option RECOVERY aus Gründen der Klarheit explizit anzugeben, obwohl das die Standardvorgabe ist.

Beispiel

Das folgende Beispiel zeigt zunächst, wie die BACKUP-Anweisung zum Erstellen einer vollständigen Datenbanksicherung und einer differenziellen Datenbanksicherung der AdventureWorks2008R2-Datenbank verwendet wird. Anschließend werden diese Sicherungen im Beispiel nacheinander wiederhergestellt.

HinweisHinweis

Das Beispiel beginnt mit einer ALTER DATABASE-Anweisung, mit der das Wiederherstellungsmodell auf SIMPLE festgelegt wird.

USE master;
--Make sure the database is using the simple recovery model.
ALTER DATABASE AdventureWorks2008R2 SET RECOVERY SIMPLE;
GO
-- Back up the full AdventureWorks2008R2 database.
BACKUP DATABASE AdventureWorks2008R2 TO DISK = 'Z:\SQLServerBackups\AdventureWorks2008R2.bak' 
  WITH FORMAT;
GO
--Create a differential database backup.
BACKUP DATABASE AdventureWorks2008R2 TO DISK = 'Z:\SQLServerBackups\AdventureWorks2008R2.bak'
   WITH DIFFERENTIAL;
GO
--Restore the full database backup (from backup set 1).
RESTORE DATABASE AdventureWorks2008R2 FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2008R2.bak' 
   WITH FILE=1, NORECOVERY;
--Restore the differential backup (from backup set 2).
RESTORE DATABASE AdventureWorks2008R2 FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2008R2.bak' 
   WITH FILE=2, RECOVERY;
GO

So stellen Sie eine vollständige Datenbanksicherung wieder her

Die grundlegende RESTORE-Syntax zur Wiederherstellung einer Datenbanksicherung lautet:

RESTORE DATABASE database_name FROM backup_device [ WITH NORECOVERY ]

HinweisHinweis

Verwenden Sie WITH NORECOVERY, wenn Sie planen, auch eine differenzielle Datenbanksicherung wiederherzustellen.

Wichtiger HinweisWichtig

Siehe Kopieren von Datenbanken durch Sichern und Wiederherstellen und Verwalten von Metadaten beim Bereitstellen einer Datenbank auf einer anderen Serverinstanz, wenn Sie eine Datenbanksicherung auf einer anderen Serverinstanz wiederherstellen.

So stellen Sie eine differenzielle Datenbanksicherung wieder her

Die grundlegende RESTORE-Syntax zur Wiederherstellung einer differenziellen Datenbanksicherung lautet:

RESTORE DATABASE database_name FROM backup_device WITH RECOVERY

So stellen Sie eine Sicherung mithilfe von SQL Server Management Objects (SMO) wieder her

Unterstützung für Sicherungen aus früheren Versionen von SQL Server

In SQL Server 2008 können Sie eine Datenbanksicherung wiederherstellen, die mit SQL Server 2000, SQL Server 2005 oder SQL Server 2008 erstellt wurde. Sicherungen von master, model und msdb, die mit SQL Server 2000 oder SQL Server 2005 erstellt wurden, können nicht mit SQL Server 2008 wiederhergestellt werden. Auch SQL Server 2008-Sicherungen können nicht mit einer früheren Version von SQL Server wiederhergestellt werden.

SQL Server 2008 verwendet im Vergleich zu früheren Versionen einen anderen Standardpfad. Wenn eine am Standardspeicherort von SQL Server 2000- oder SQL Server 2005-Sicherungen erstellte Datenbank wiederhergestellt werden soll, müssen Sie deshalb die Option MOVE verwenden. Informationen zum neuen Standardpfad finden Sie unter Dateispeicherorte für Standard- und benannte Instanzen von SQL Server.

HinweisHinweis

Informationen zum Aktualisieren einer mit SQL Server 7.0 oder einer früheren Version als SQL Server 2005 erstellten Datenbank finden Sie unter Kopieren von Datenbanken von SQL Server 7.0 oder früheren Versionen.