Wiederherstellen einer Datenbank ohne Wiederherstellung von Daten (Transact-SQL)

Normalerweise werden alle Daten in einer SQL Server-Datenbank wiederhergestellt, bevor die Datenbank wiederhergestellt wird. Ein Wiederherstellungsvorgang kann jedoch eine Datenbank wiederherstellen, ohne dabei eine Sicherung wiederherzustellen, z. B. beim Wiederherstellen einer schreibgeschützten Datei, die mit der Datenbank konsistent ist. Dies wird als reine Wiederherstellung bezeichnet. Wenn Offlinedaten bereits mit der Datenbank konsistent sind und nur zur Verfügung gestellt werden müssen, stellt die reine Wiederherstellung die Datenbank wieder her und schaltet die Daten online.

Eine reine Wiederherstellung kann für eine ganze Datenbank oder Dateien bzw. Dateigruppen ausgeführt werden.

Reine Datenbankwiederherstellung

Eine reine Datenbankwiederherstellung kann in den folgenden Situationen hilfreich sein:

  • Sie haben die Datenbank beim Speichern der letzten Sicherung in einer Wiederherstellungssequenz nicht wiederhergestellt und möchten jetzt die Datenbank wiederherstellen, um diese online zu schalten.

  • Die Datenbank befindet sich im Standbymodus, und Sie möchten, dass die Datenbank aktualisierbar ist, ohne dass eine weitere Protokollsicherung angewendet werden muss.

Die RESTORE-Syntax für eine reine Datenbankwiederherstellung lautet wie folgt:

RESTORE DATABASE database_name WITH RECOVERY

HinweisHinweis

Die FROM = <backup_device>-Klausel wird für reine Wiederherstellungsvorgänge nicht verwendet, da keine Sicherung erforderlich ist.

Beispiel

Im folgenden Beispiel wird die AdventureWorks2012 -Beispieldatenbank ohne die zugehörigen Daten wiederhergestellt.

-- Restore database using WITH RECOVERY.
RESTORE DATABASE AdventureWorks2012
   WITH RECOVERY

[Nach oben]

Reine Dateiwiederherstellung

Eine reine Dateiwiederherstellung kann in der folgenden Situation hilfreich sein:

Eine Datenbank wird schrittweise wiederhergestellt. Nach Abschluss der Wiederherstellung der primären Dateigruppe sind eine oder mehrere der nicht wiederhergestellten Dateien mit dem neuen Datenbankstatus konsistent, weil sie vielleicht einige Zeit schreibgeschützt waren. Diese Dateien müssen lediglich wiederhergestellt werden. Das Kopieren von Daten ist nicht erforderlich.

Bei einem reinen Wiederherstellungsvorgang werden die Daten in der Offlinedateigruppe wieder online geschaltet; es erfolgt keine Datenkopierphase, kein Wiederholen (Rollforwardphase) oder Rückgängig machen (Rollbackphase). Information zu den Wiederherstellungsphasen finden Sie unter Übersicht über Wiederherstellungsvorgänge (SQL Server).

Die RESTORE-Syntax für eine reine Dateiwiederherstellung lautet:

RESTORE DATABASE database_name { FILE = logical_file_name | FILEGROUP = logical_filegroup_name }[ ,...n ] WITH RECOVERY

Beispiel

Im folgenden Beispiel wird eine reine Dateiwiederherstellung der Dateien in einer sekundären Dateigruppe (SalesGroup2) in der Sales-Datenbank veranschaulicht. Die primäre Dateigruppe wurde bereits zu Beginn der schrittweisen Wiederherstellung gespeichert, und SalesGroup2 ist konsistent mit der wiederhergestellten primären Dateigruppe. Es ist nur eine einzige Anweisung erforderlich, um die Dateigruppe wiederherzustellen und online zu schalten.

RESTORE DATABASE Sales FILEGROUP=SalesGroup2 WITH RECOVERY;

[Nach oben]

Beispiele zum Abschließen von schrittweisen Wiederherstellungsszenarien mit einer reinen Wiederherstellung

Einfaches Wiederherstellungsmodell

Vollständiges Wiederherstellungsmodell

Siehe auch

Verweis

RESTORE (Transact-SQL)

Konzepte

Onlinewiederherstellungen [SQL Server]

Schrittweise Wiederherstellungen [SQL Server]

Dateiwiederherstellungen (einfaches Wiederherstellungsmodell)

Dateiwiederherstellungen (vollständiges Wiederherstellungsmodell)