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.

Wichtig

Das Anfügen oder Wiederherstellen von Datenbanken aus unbekannten oder nicht vertrauenswürdigen Quellen wird nicht empfohlen. Diese Datenbanken können schädlichen Code enthalten, der unbeabsichtigten Transact-SQL-Code ausführen oder Fehler verursachen kann, indem das Schema oder die physische Datenbankstruktur geändert wird. Bevor Sie eine Datenbank aus einer unbekannten oder nicht vertrauenswürdigen Quelle verwenden, führen Sie auf einem Nichtproduktionsserver DBCC CHECKDB für die Datenbank aus. Überprüfen Sie außerdem den Code in der Datenbank, z.B. gespeicherte Prozeduren oder anderen benutzerdefinierten Code.

Hinweis

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:

Wiederherstellen 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:

Wiederherstellen vollständiger und differenzieller Datenbanksicherungen

Hinweis

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-SQLRESTORE-Syntax zum Wiederherstellen einer vollständigen Datenbanksicherung lautet:

RESTORE DATABASE database_name FROM backup_device [ WITH NORECOVERY ]

Hinweis

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 Sie mit der BACKUP-Anweisung eine vollständige Datenbanksicherung und eine differenzielle Datenbanksicherung der AdventureWorks2012-Datenbank erstellen. 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.

Hinweis

Das Beispiel beginnt mit einer ALTER DATABASE -Anweisung, mit der das Wiederherstellungsmodell auf SIMPLEfestgelegt 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  

Related Tasks

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

Weitere Informationen

RESTORE (Transact-SQL)
BACKUP (Transact-SQL)
sp_addumpdevice (Transact-SQL)
Vollständige Datenbanksicherungen (SQL Server)
Differenzielle Sicherungen (SQL Server)
Backup Overview (SQL Server)
Übersicht über Wiederherstellungsvorgänge (SQL Server)