Freigeben über


Vollständige Datenbankwiederherstellungen (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.

SicherheitshinweisSicherheitshinweis

Es empfiehlt sich, keine Datenbanken aus unbekannten oder nicht vertrauenswürdigen Quellen anzufügen oder wiederherzustellen. Diese Datenbanken können bösartigen Code enthalten, der möglicherweise unbeabsichtigten Transact-SQL-Code ausführt oder Fehler durch Ändern des Schemas oder der physischen Datenbankstruktur erzeugt. Bevor Sie eine Datenbank aus einer unbekannten oder nicht vertrauenswürdigen Quelle verwenden, führen Sie auf einem Nichtproduktionsserver DBCC CHECKDB in der Datenbank aus. Überprüfen Sie außerdem den Code in der Datenbank, wie z. B. gespeicherte Prozeduren oder anderen benutzerdefinierten Code.

In diesem Thema:

  • Übersicht über die Datenbankwiederherstellung mit dem einfachen Wiederherstellungsmodell

  • Verwandte Aufgaben

HinweisHinweis

Informationen zur Unterstützung von Sicherungskopien früherer SQL Server-Versionen finden Sie im Kapitel RESTORE (Transact-SQL) im Abschnitt "Kompatibilitätsunterstützung".

Übersicht über die Datenbankwiederherstellung mit dem einfachen Wiederherstellungsmodell

Für eine vollständige Datenbankwiederherstellung mit dem einfachen Wiederherstellungsmodell sind nur ein oder zwei RESTORE-Anweisungen erforderlich, je nachdem, ob Sie eine differenzielle Datenbanksicherung wiederherstellen möchten. 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 von differenziellen Datenbanksicherungen

HinweisHinweis

Informationen zum Wiederherstellen einer Datenbanksicherung auf einer anderen Serverinstanz finden Sie unter Kopieren von Datenbanken durch Sichern und Wiederherstellen.

Grundlegende Transact-SQL-RESTORE-Syntax

Die grundlegende Transact-SQL RESTORE-Syntax zur Wiederherstellung einer vollständigen Datenbanksicherung lautet:

RESTORE DATABASE database_name FROM backup_device [ WITH NORECOVERY ]

HinweisHinweis

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

Die grundlegende RESTORE-Syntax zur Wiederherstellung einer Datenbanksicherung lautet:

RESTORE DATABASE database_name FROM backup_device WITH RECOVERY

Beispiel (Transact-SQL)

Das folgende Beispiel zeigt zunächst, wie die BACKUP-Anweisung zum Erstellen einer vollständigen Datenbanksicherung und einer differenziellen Datenbanksicherung der AdventureWorks2012 -Datenbank verwendet wird. Anschließend werden diese Sicherungen im Beispiel nacheinander wiederhergestellt. Die Datenbank wird zu dem Status wiederhergestellt, in dem sie sich beim Abschließen der differenziellen Datenbanksicherung befand.

Im Beispiel werden die wichtigen Optionen in einer Wiederherstellungssequenz für das Szenario der vollständigen Datenbankwiederherstellung veranschaulicht. Eine Wiederherstellungssequenz besteht aus mindestens einem Wiederherstellungsvorgang, mit dessen Hilfe Daten mindestens eine Wiederherstellungsphase durchlaufen. Hierfür unwichtige Syntax und Informationen werden ausgelassen. Wenn Sie eine Datenbank wiederherstellen, wird empfohlen, die Option RECOVERY aus Gründen der Klarheit explizit anzugeben, obwohl das die Standardvorgabe ist.

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 AdventureWorks2012 SET RECOVERY SIMPLE;
GO
-- Back up the full AdventureWorks2012 database.
BACKUP DATABASE AdventureWorks2012 
TO DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak' 
  WITH FORMAT;
GO
--Create a differential database backup.
BACKUP DATABASE AdventureWorks2012 
TO DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'
   WITH DIFFERENTIAL;
GO
--Restore the full database backup (from backup set 1).
RESTORE DATABASE AdventureWorks2012 
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak' 
   WITH FILE=1, NORECOVERY;
--Restore the differential backup (from backup set 2).
RESTORE DATABASE AdventureWorks2012 
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak' 
   WITH FILE=2, RECOVERY;
GO

[Nach oben]

Verwandte Aufgaben

So stellen Sie eine vollständige Datenbanksicherung wieder her

So stellen Sie eine differenzielle Datenbanksicherung wieder her

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

[Nach oben]

Siehe auch

Verweis

RESTORE (Transact-SQL)

BACKUP (Transact-SQL)

sp_addumpdevice (Transact-SQL)

Konzepte

Vollständige Datenbanksicherungen (SQL Server)

Differenzielle Sicherungen (SQL Server)

Übersicht über Sicherungen [SQL Server]

Übersicht über Wiederherstellungsvorgänge (SQL Server)