RESTORE Aussagen – Argumente (Transact-SQL)

Gilt für:SQL Server

Dieser Artikel dokumentiert die Argumente, die in den Syntaxabschnitten der RESTORE {DATABASE| beschrieben sind.LOG}-Ausweisung und der zugehörigen Menge von Hilfsaussagen: RESTORERESTORE FILELISTONLY, RESTORERESTORE HEADERONLY, ,RESTORE LABELONLYRESTORE ,RESTORE REWINDONLYRESTORE und RESTORERESTORE VERIFYONLY. Die meisten der Argumente werden nur von einer Untermenge dieser sechs Anweisungen unterstützt. Die Unterstützung für jedes Argument wird in der Beschreibung des Arguments angezeigt.

Transact-SQL-Syntaxkonventionen

Syntax

Informationen zur Syntax finden Sie in den folgenden Artikeln:

Argumente

DATABASE

Unterstützt von:RESTORE

Gibt die Zieldatenbank an. Falls eine Liste mit Dateien oder Dateigruppen angegeben ist, werden nur diese Dateien und Dateigruppen wiederhergestellt.

Bei einer Datenbank, die das Modell der vollen oder massenprotokollierten Wiederherstellung verwendet, erfordert SQL Server in den meisten Fällen die Sicherung des Protokollfragments, bevor die Datenbank wiederhergestellt wird. Das Wiederherstellen einer Datenbank ohne vorheriges Sichern des Protokolls führt zu einem Fehler, es sei denn, die RESTOREDATABASE Anweisung enthält entweder die Klausel WITH REPLACE oder die WITH STOPAT-Klausel, die eine Zeit oder Transaktion angeben muss, die nach dem Ende der Datensicherung stattfand. Weitere Informationen zu Sicherungen des Protokollfragments finden Sie unter Protokollfragmentsicherungen (SQL Server).

PROTOKOLL

Unterstützt von:RESTORE

Gibt an, dass eine Transaktionsprotokollsicherung auf diese Datenbank angewendet werden soll. Transaktionsprotokolle müssen in sequenzieller Reihenfolge ausgeführt werden. SQL Server überprüft die gesicherten Transaktionsprotokolle, um sicherzustellen, dass die Transaktionen in der richtigen Reihenfolge in die richtige Datenbank geladen werden. Zur Anwendung mehrerer Transaktionsprotokolle verwenden Sie die Option NORECOVERY für alle Wiederherstellungsoperationen außer für die letzte.

Hinweis

Üblicherweise handelt es sich bei dem zuletzt wiederhergestellten Protokoll um die Sicherung des Protokollfragments. Eine Sicherung des Protokollfragments ist eine Protokollsicherung, die unmittelbar vor dem Wiederherstellen einer Datenbank erstellt wurde. Dies erfolgt normalerweise nach dem Auftreten eines Datenbankfehlers. Durch das Erstellen einer Sicherung des Protokollfragments von der möglicherweise beschädigten Datenbank kann der Verlust von Arbeit verhindert werden, indem der noch nicht gesicherte Teil des Protokolls (Protokollfragment) erfasst wird. Weitere Informationen finden Sie unter Protokollfragmentsicherungen (SQL Server).

Weitere Informationen finden Sie unter Anwenden von Transaktionsprotokollsicherungen (SQL Server).

{ database_name | @database_name_var }

Unterstützt von:RESTORE

Dies ist die Datenbank, in die das Protokoll oder die vollständige Datenbank wiederhergestellt wird. Wird das Argument in Form einer Variablen angegeben (@database_name_var), kann dieser Name entweder als Zeichenfolgenkonstante (@database_name_var = database_name) oder als Variable eines Zeichenfolgen-Datentyps (mit Ausnahme der Datentypen ntext und text) angegeben werden.

< > file_or_filegroup_or_page [ ,... n ]

Unterstützt von:RESTORE

Spezifiziert den Namen einer logischen Datei, Dateigruppe oder Seite, die in eine oder RESTORE LOG-Anweisung RESTOREDATABASE aufgenommen werden soll. Sie können eine Liste mit Dateien oder Dateigruppen angeben.

Bei einer Datenbank, für die das einfache Wiederherstellungsmodell verwendet wird, sind die Optionen FILE und FILEGROUP nur dann zulässig, wenn die Zieldateien oder -dateigruppen schreibgeschützt sind oder wenn es sich um eine Wiederherstellung mit PARTIAL handelt (deren Ergebnis eine veraltete Dateigruppe ist).

Für eine Datenbank, die das vollständige oder bulk-loggte Wiederherstellungsmodell verwendet, muss man nach RESTOREDATABASE der Wiederherstellung einer oder mehrerer Dateien, Dateigruppen und/oder Seiten typischerweise das Transaktionsprotokoll auf die Dateien mit den wiederhergestellten Daten anwenden; die Anwendung des Protokolls macht diese Dateien mit dem Rest der Datenbank konsistent. Hierbei gelten die folgenden Ausnahmen:

  • Wenn die zu wiederhergestellten Dateien vor ihrer letzten Sicherung nur lesegeschützt waren, muss kein Transaktionsprotokoll angewendet werden, und die RESTORE Anweisung informiert Sie über diese Situation.

  • Wenn die Sicherung die primäre Dateigruppe enthält und eine Teilwiederherstellung ausgeführt wird. In diesem Fall wird das Wiederherstellungsprotokoll nicht benötigt, da das Protokoll automatisch aus dem Sicherungssatz wiederhergestellt wird.

FILE = { logical_file_name_in_backup | @logical_file_name_in_backup_var }

Benennt eine Datei, die in die Wiederherstellung der Datenbank eingeschlossen werden soll.

FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }

Benennt eine Dateigruppe, die in die Wiederherstellung der Datenbank eingeschlossen werden soll.

FILEGROUP ist beim einfachen Wiederherstellungsmodell nur zulässig, wenn die angegebene Dateigruppe schreibgeschützt ist und es sich um eine Teilwiederherstellung handelt. Dies ist bei Verwendung von WITH PARTIAL der Fall. Alle nicht wiederhergestellten Dateigruppen mit Lese-/Schreibzugriff werden als veraltet markiert und können nachfolgend nicht mehr in der sich ergebenden Datenbank wiederhergestellt werden.

READ_WRITE_FILEGROUPS

Wählt alle Dateigruppen mit Lese-/Schreibzugriff aus. Diese Option ist besonders hilfreich, wenn Sie schreibgeschützte Dateigruppen nach der Wiederherstellung von Dateigruppen mit Lese-/Schreibzugriff wiederherstellen möchten.

PAGE = 'file:page [ ,... n ]'

Gibt eine Liste mit mindestens einer Seite für eine Seitenwiederherstellung an. Diese wird nur für Datenbanken unterstützt, die das vollständige oder massenprotokollierte Wiederherstellungsmodell verwenden. Mit den Parametern werden folgende Werte angegeben:

PAGE
Zeigt eine Liste mit mindestens einer Datei oder Seite an.

file
Die Datei-ID der Datei, die eine bestimmte wiederherzustellende Seite enthält.

page
Die Seiten-ID der in der Datei wiederherzustellenden Seite.

n
Ein Platzhalter, der anzeigt, dass mehrere Seiten angegeben werden können.

Die maximale Anzahl der Seiten, die in einer Wiederherstellungssequenz in einer einzigen Datei wiederhergestellt werden können, beträgt 1000. Wenn jedoch eine größere Anzahl von beschädigten Seiten in einer Datei vorhanden ist, sollten Sie die Wiederherstellung der gesamten Datei statt der Seiten in Betracht ziehen.

Hinweis

Seitenwiederherstellungen werden nie wiederhergestellt.

Weitere Informationen zur Seitenwiederherstellung finden Sie unter Wiederherstellung von Seiten (SQL Server).

[ , ...n ]
Ein Platzhalter, der anzeigt, dass mehrere Dateien, Dateigruppen und Seiten in einer durch Trennzeichen getrennten Liste angegeben werden können. Für die Anzahl gibt es keine Einschränkungen.

FROM { <backup_device> [ ,... n ] | <> database_snapshot }

Gibt normalerweise die Sicherungsmedien an, von denen die Sicherung wiederhergestellt werden soll. Alternativ kann die FROM-Klausel in einer RESTOREDATABASE Anweisung den Namen eines Datenbanksnapshots angeben, zu dem Sie die Datenbank zurücksetzen, in diesem Fall ist keine WITH-Klausel erlaubt.

Falls die FROM-Klausel nicht angegeben wird, findet die Wiederherstellung einer Sicherung nicht statt. Stattdessen wird die Datenbank wiederhergestellt. Dies ermöglicht Ihnen die Wiederherstellung einer Datenbank, für die eine Dateiwiederherstellung mit der Option NORECOVERY durchgeführt wurde, oder das Wechseln zu einem Standbyserver. Falls die FROM-Klausel nicht angegeben wird, müssen NORECOVERY, RECOVERY oder STANDBY in der WITH-Klausel angegeben werden.

< > backup_device [ ,... n ]

Gibt das logische oder physische Sicherungsmedium an, das für den Wiederherstellungsvorgang verwendet wird.

Unterstützt von:RESTORE, RESTORE FILELISTONLY, , RESTORE HEADERONLY, RESTORE LABELONLY, RESTORE REWINDONLY, und RESTORE VERIFYONLY.

<backup_device>::= Gibt wie folgt ein logisches oder physisches Sicherungsmedium an, das für den Sicherungsvorgang verwendet werden soll:

{ logical_backup_device_name | @logical_backup_device_name_var }
Der logische Name der durch sp_addumpdevice erstellten Sicherungsmedien, von denen die Datenbank wiederhergestellt wird. Der Name muss den Regeln für Bezeichner entsprechen. Bei Angabe als Variable (@logical_backup_device_name_var) kann der Name des Sicherungsmediums entweder als Zeichenfolgenkonstante (@logical_backup_device_name_var = logical_backup_device_name) oder als Variable eines Zeichenfolgen-Datentyps (mit Ausnahme der Datentypen ntext oder text) angegeben werden.

{DISK | TAPE } = { 'physical_backup_device_name'physical_backup_device_name_var | @ }
Ermöglicht die Wiederherstellung von Sicherungen von den angegebenen Datenträgern- oder Bandmedien. Die Gerätetypen von Datenträgern und Bändern sollten durch die tatsächlichen Namen des Geräts angegeben werden (z.B. vollständiger Pfad und Dateiname): DISK ='Z:\SQLServerBackups\AdventureWorks.bak' oder TAPE ='\\\\.\TAPE0'. Bei Angabe als Variable (@physical_backup_device_name_var) kann der Name des Geräts entweder als Zeichenfolgenkonstante (@physical_backup_device_name_var = 'physcial_backup_device_name') oder als Variable eines Zeichenfolgen-Datentyps (mit Ausnahme der Datentypen ntext und text) angegeben werden.

Wenn Sie einen Netzwerkserver mit einem UNC-Namen (der einen Computernamen enthalten muss) verwenden, geben Sie die Geräteart Datenträger (DISK) an. Weitere Informationen zur Verwendung von UNC-Namen finden Sie unter Sicherungsmedien (SQL Server).

Das Konto, unter dem Sie den SQL Server ausführen, muss LESEZUGRIFF auf den entfernten Computer oder Netzwerkserver haben, um eine RESTORE Operation durchführen zu können.

n
Ein Platzhalter, der anzeigt, dass in einer durch Trennzeichen getrennten Liste möglicherweise bis zu 64 Sicherungsmedien angegeben werden.

Ob für eine Wiederherstellungssequenz so viele Sicherungsmedien erforderlich sind, wie beim Erstellen des Mediensatzes verwendet wurden, zu dem die Sicherungen gehören, hängt davon ab, ob die Wiederherstellung offline oder online erfolgt:

  • Bei der Offlinewiederherstellung kann eine Sicherung mit weniger Medien wiederhergestellt werden, als zum Erstellen der Sicherung erforderlich waren.

  • Für eine Onlinewiederherstellung sind alle Sicherungsmedien der Sicherung erforderlich. Einer Wiederherstellungsversuch mit weniger Medien erzeugt einen Fehler.

Angenommen, eine Datenbank wurde auf vier Bandlaufwerken gesichert, die mit dem Server verbunden sind. Für eine Onlinewiederherstellung müssen vier Laufwerke mit dem Server verbunden sein. Bei einer Offlinewiederherstellung ist es möglich, die Sicherung auch dann wiederherzustellen, wenn weniger als vier Laufwerke mit dem Computer verbunden sind.

Hinweis

Beim Wiederherstellen einer Sicherung von einem gespiegelten Mediensatz können Sie nur einen Spiegel für jede Medienfamilie angeben. Falls Fehler auftreten, kann das Vorhandensein der anderen Spiegel jedoch dazu beitragen, dass einige Wiederherstellungsprobleme schneller gelöst werden können. Sie können ein beschädigtes Medienvolume durch das entsprechende Volume eines anderen Spiegels ersetzen. Beachten Sie, dass Offlinewiederherstellungen auch mit einer geringeren Anzahl von Medien als Medienfamilien möglich sind; jede Familie wird jedoch nur einmal verarbeitet.

< >database_snapshot::=

Unterstützt von:RESTORE DATABASE

= DATABASE_SNAPSHOT database_snapshot_name
Stellt die Datenbank mit der Datenbankmomentaufnahme wieder her, die durch database_snapshot_name angegeben wurde. Die Option DATABASE_SNAPSHOT ist nur bei einer vollständigen Datenbankwiederherstellung verfügbar. Beim Zurücksetzen tritt die Datenbankmomentaufnahme an die Stelle der vollständigen Datenbanksicherung.

Für das Zurücksetzen ist es erforderlich, dass die angegebene Datenbankmomentaufnahme die einzige Momentaufnahme für die Datenbank ist. Während des Vorgangs werden die Datenbankmomentaufnahme und die Zieldatenbank als In restore markiert. Weitere Informationen finden Sie im Abschnitt "Hinweise" in RESTORE DATABASE.

WITH-Optionen

Gibt die Optionen an, die bei einem Wiederherstellungsvorgang verwendet werden sollen. Eine Zusammenfassung der Anweisungen und der jeweils verwendeten Option finden Sie im Abschnitt zur Zusammenfassung der Unterstützung für WITH-Optionen weiter unten in diesem Artikel.

Hinweis

WITH-Optionen sind hier in derselben Reihenfolge organisiert wie im Abschnitt "Syntax" in RESTORE {DATABASE|LOG}.

PARTIAL

Unterstützt von:RESTORE DATABASE

Gibt einen Teilwiederherstellungsvorgang an, bei dem die primäre Dateigruppe und alle angegebenen sekundären Dateigruppen wiederhergestellt werden. Die Option PARTIAL wählt implizit die primäre Dateigruppe aus; die Angabe FILEGROUP = 'PRIMARY' ist nicht erforderlich. Geben Sie die Dateigruppe explizit mithilfe der Option FILE oder der Option FILEGROUP an, um eine sekundäre Dateigruppe wiederherzustellen.

Die PARTIAL-Option ist bei RESTORE LOG-Statements nicht erlaubt.

Durch die Option PARTIAL wird die Anfangsphase einer schrittweisen Wiederherstellung gestartet, wodurch es möglich ist, die verbleibenden Dateigruppen zu einem späteren Zeitpunkt wiederherzustellen. Weitere Informationen finden Sie unter Schrittweise Wiederherstellungen (SQL Server).

[ WIEDERHERSTELLUNG | NORECOVERY | STANDBY ]

Unterstützt von:RESTORE

RECOVERY
Weist den Wiederherstellungsvorgang an, einen Rollback für jede Transaktion auszuführen, für die kein Commit ausgeführt wurde. Nach dem Wiederherstellungsprozess kann die Datenbank verwendet werden. Falls weder NORECOVERY noch RECOVERY noch STANDBY angegeben wird, ist RECOVERY die Standardeinstellung.

Wenn nachfolgende RESTORE Operationen (RESTORE LOG oder RESTOREDATABASE von Differential) geplant sind, sollten stattdessen NORECOVERY oder STANDBY angegeben werden.

Wenn Sicherungssätze wiederhergestellt werden sollen, die mit einer früheren Version von SQL Server erstellt wurden, ist möglicherweise ein Datenbankupgrade erforderlich. Dieses Upgrade erfolgt automatisch, wenn WITH RECOVERY angegeben ist. Weitere Informationen finden Sie unter Anwenden von Transaktionsprotokollsicherungen (SQL Server).

Hinweis

Falls die FROM-Klausel nicht angegeben wird, müssen NORECOVERY, RECOVERY oder STANDBY in der WITH-Klausel angegeben werden.

NORECOVERY

Weist den Wiederherstellungsvorgang an, keinen Rollback für Transaktionen durchzuführen, für die kein Commit ausgeführt wurde. Wenn später ein weiteres Transaktionsprotokoll angewendet werden muss, sollten Sie entweder die Option NORECOVERY oder die Option STANDBY angeben. Falls weder NORECOVERY noch RECOVERY noch STANDBY angegeben wird, ist RECOVERY die Standardeinstellung. Beim Durchführen eines Offlinewiederherstellungsvorgangs mit der Option NORECOVERY kann die Datenbank nicht verwendet werden.

Für die Wiederherstellung eines Datenbank-Backups und eines oder mehrerer Transaktionsprotokolle oder immer dann, wenn mehrere RESTORE Anweisungen erforderlich sind (zum Beispiel bei der Wiederherstellung eines vollständigen Datenbank-Backups gefolgt von einem differenziellen Datenbank-Backup), RESTORE ist die Option WITH NORECOVERY bei allen außer der letzten RESTORE Anweisung erforderlich. Eine Best Practice ist, WITH NORECOVERY auf ALLE Anweisungen in einer mehrstufigen Wiederherstellungssequenz zu verwenden, bis der gewünschte Wiederherstellungspunkt erreicht ist, und dann eine separate RESTORE WITH RECOVERY-Anweisung nur für die Wiederherstellung zu verwenden.

Bei Verwendung der Option NONRECOVERY mit einem Wiederherstellungsvorgang für Dateien oder Dateigruppen erzwingt die Option, dass die Datenbank nach dem Wiederherstellungsvorgang im Wiederherstellungsstatus bleibt. Dies ist in folgenden Situationen nützlich:

  • Ein Wiederherstellungsskript wird ausgeführt, und das Protokoll soll immer angewendet werden.

  • Eine Sequenz von Dateiwiederherstellungen wird verwendet, und die Datenbank soll nicht zwischen zwei der Wiederherstellungsvorgängen verwendet werden können.

In manchen Fällen RESTORE rollt WITH NORECOVERY den Vorwärtsroll, der weit genug nach vorne gesetzt ist, damit er mit der Datenbank konsistent ist. In diesen Fällen erfolgt kein Rollback, und die Daten bleiben offline, wie bei dieser Option zu erwarten ist. In Datenbank-Engine wird jedoch eine Informationsmeldung ausgegeben, in der angegeben wird, dass eine Wiederherstellung der Rollforwardgruppe mit der Option RECOVERY jetzt möglich ist.

STANDBY = standby_file_name

Gibt eine Standbydatei an, die es ermöglicht, die Auswirkungen der Wiederherstellungen rückgängig zu machen. Die Option STANDBY ist nur bei Offlinewiederherstellungen (einschließlich Teilwiederherstellungen) zulässig. Bei Onlinewiederherstellungen darf diese Option nicht verwendet werden. Das Angeben der Option STANDBY bei einem Onlinewiederherstellungsvorgang bewirkt, dass der Wiederherstellungsvorgang einen Fehler erzeugt. STANDBY ist ebenfalls nicht zulässig, wenn ein Datenbankupgrade erforderlich ist.

Die Standby-Datei wird verwendet, um ein "Copy-on-Write"-Pre-Image für Seiten zu speichern, die während des Rückgängigs eines RESTORE WITH STANDBY geändert werden. Die Standbydatei ermöglicht den schreibgeschützten Zugriff auf eine Datenbank zwischen Wiederherstellungen des Transaktionsprotokolls. Die Datei kann entweder bei betriebsbereitem Standbyserver oder in besonderen Wiederherstellungssituationen verwendet werden, in denen die Überprüfung der Datenbank zwischen Protokollwiederherstellungen sinnvoll ist. Nach einer RESTORE WITH STANDBY-Operation wird die Rückgängig-Datei automatisch durch die nächste RESTORE Operation gelöscht. Wenn diese Standby-Datei vor der nächsten RESTORE Operation manuell gelöscht wird, muss die gesamte Datenbank wiederhergestellt werden. Während die Datenbank den STANDBY-Status aufweist, müssen Sie diese Standbydatei mit derselben Sorgfalt wie jede andere Datenbankdatei behandeln. Anders als andere Datenbankdateien wird diese Datei nur während aktiver Wiederherstellungsvorgänge von Datenbank-Engine offen gehalten.

standby_file_name gibt eine Standbydatei an, deren Speicherort im Protokoll der Datenbank gespeichert ist. Wenn der angegebene Name von einer vorhandenen Datei verwendet wird, wird die Datei überschrieben. Andernfalls wird die Datei von Datenbank-Engine erstellt.

Die Größenanforderung einer bestimmten Standbydatei hängt vom Umfang der Umkehraktionen ab, die sich im Verlauf der Wiederherstellung durch Transaktionen ergeben, für die kein Commit ausgeführt wurde.

Wichtig

Falls kein Speicherplatz mehr auf dem Datenträger mit der angegebenen Standbydatei verfügbar ist, wird der Wiederherstellungsvorgang beendet.

Für einen Vergleich von RECOVERY und NORECOVERY siehe den Abschnitt "Bemerkungen" in RESTORE.

LOADHISTORY

Unterstützt von:RESTORE VERIFYONLY

Gibt an, dass der Wiederherstellungsvorgang die Informationen in die Verlaufstabellen von msdb lädt. Mit der Option LOADHISTORY werden für den einzelnen Sicherungssatz, der überprüft wird, Informationen zu auf dem Mediensatz gespeicherten SQL Server-Sicherungen in die Sicherungs- und Wiederherstellungsverlaufstabellen in der msdb-Datenbank geladen. Weitere Informationen zu Verlaufstabellen finden Sie unter Systemtabellen (Transact-SQL).

Beachten Sie, dass durch die Verwendung von LOADHISTORY für Sicherungen, die bereits in den msdb-Verlaufstabellen vorhanden sind, dieselben Informationen mit einem neuen backup_set_id hinzugefügt werden. Wenn Sie LOADHISTORY verwenden, um den Sicherungsverlauf in msdb entweder auf einem anderen Server oder nach dem Löschen vom ursprünglichen Server neu zu erstellen, empfiehlt es sich, die Wiederherstellungsbefehle für die Sicherungen in der Reihenfolge auszuführen, in der sie genutzt wurden. Dadurch wird sichergestellt, dass die LSN-Kette intakt bleibt, und der SSMS-Wiederherstellungs-Assistent den Sicherungsverlauf korrekt ausliest, um die richtige Wiederherstellungssequenz zu generieren. Die Verwendung von LOADHISTORY mit neu erstellter Sicherungshistorie kann zu einem Fehler führen, wenn versucht wird, eine Wiederherstellung durchzuführen („Der Wiederherstellungsplan kann aufgrund einer unterbrochenen LSN-Kette nicht erstellt werden. (Microsoft.SqlServer.SmoExtended)“).

< > general_WITH_options [ ,... n ]

Die folgenden allgemeinen WITH-Optionen werden alle in RESTOREDATABASE LOG-Anweisungen RESTORE unterstützt. Einige dieser Optionen werden, wie angegeben, auch von einer oder mehreren Hilfsanweisungen unterstützt.

Optionen für den Wiederherstellungsvorgang

Diese Optionen beeinflussen das Verhalten des Wiederherstellungsvorgangs.

VERSCHIEBEN von "logical_file_name_in_backup" IN "operating_system_file_name" [ ,... n ]

Unterstützt von:RESTORE und RESTORE VERIFYONLY

Gibt an, dass die Daten- oder Protokolldatei, deren logischer Name durch logical_file_name_in_backup angegeben wird, verschoben werden sollte, indem sie an dem durch operating_system_file_name angegebenen Speicherort wiederhergestellt wird. Der logische Dateiname einer Daten- oder Protokolldatei in einem Sicherungssatz entspricht ihrem logischen Namen in der Datenbank zum Zeitpunkt der Erstellung des Sicherungssatzes.

n ist ein Platzhalter, der angibt, dass weitere MOVE-Anweisungen angegeben werden können. Geben Sie für jede logische Datei, die aus dem Sicherungssatz an einem neuen Speicherort wiederhergestellt werden soll, eine MOVE-Anweisung an. Die Datei logical_file_name_in_backup wird standardmäßig an ihrem ursprünglichen Speicherort wiederhergestellt.

Hinweis

Um eine Liste der logischen Dateien aus dem Backup-Set zu erhalten, verwenden RESTORE FILELISTONLYSie .

Wenn eine RESTORE Anweisung verwendet wird, um eine Datenbank auf demselben Server zu verlagern oder auf einen anderen Server zu kopieren, kann die MOVE-Option notwendig sein, um die Datenbankdateien zu verschieben und Kollisionen mit bestehenden Dateien zu vermeiden.

Wenn sie mit RESTORE LOG verwendet wird, kann die MOVE-Option nur verwendet werden, um Dateien zu verschieben, die während des Zeitraums hinzugefügt wurden, der vom Log abgedeckt wird. Wenn zum Beispiel die Log-Sicherung eine Datei-Hinzufügen-Operation für eine Datei file23enthält, kann diese Datei mit der Option MOVE in RESTORE LOG verschoben werden.

Bei Verwendung mit einer SQL Server-Snapshotsicherung kann die MOVE-Option nur verwendet werden, um Dateien in ein Azure-Blob zu verschieben, das sich in demselben Konto befindet wie das ursprüngliche Blob. Die MOVE-Option kann nicht zur Wiederherstellung der Snapshotsicherung in einer lokalen Datei oder einem anderen Speicherkonto verwendet werden.

Wenn eine RESTORE VERIFYONLY Anweisung verwendet wird, wenn Sie planen, eine Datenbank auf demselben Server zu verlagern oder auf einen anderen Server zu kopieren, kann die MOVE-Option notwendig sein, um sicherzustellen, dass genügend Speicherplatz im Ziel vorhanden ist und um potenzielle Kollisionen mit bestehenden Dateien zu identifizieren.

Weitere Informationen finden Sie unter Kopieren von Datenbanken durch Sichern und Wiederherstellen.

CREDENTIAL

Unterstützt von:RESTORE, RESTORE FILELISTONLY, , RESTORE HEADERONLY, RESTORE LABELONLYund RESTORE VERIFYONLY.

Gilt für: SQL Server 2012 (11.x) SP1 CU2 und höher

Wird nur verwendet, wenn eine Sicherung aus Microsoft Azure Blob Storage wiederhergestellt wird.

Hinweis

Bei SQL Server 2012 (11.x) SP1 CU2 bis SQL Server 2016 (13.x) ist eine Wiederherstellung von einem einzelnen Gerät nur dann möglich, wenn Sie die Wiederherstellung über eine URL durchführen. Wenn Sie eine Wiederherstellung von mehreren Geräten durchführen möchten, müssen Sie SQL Server 2016 (13.x) oder höher und Shared Access Signature-Token (SAS) verwenden, wenn Sie die Wiederherstellung über eine URL durchführen. Weitere Informationen finden Sie unter Enable SQL Server Managed Backup to Microsoft Azure (Aktivieren einer von SQL Server verwalteten Sicherung für Microsoft Azure) und unter Simplifying creation of SQL Credentials with Shared Access Signature ( SAS ) tokens on Azure Storage with Powershell (Vereinfachen der Erstellung von SQL-Anmeldeinformationen mit Shared Access Signature-Token in Azure Storage mit PowerShell).

REPLACE

Unterstützt von:RESTORE

Gibt an, dass SQL Server die angegebene Datenbank und die zugehörigen Dateien erstellen soll, auch wenn bereits eine andere Datenbank mit demselben Namen vorhanden ist. In einem solchen Fall wird die vorhandene Datenbank gelöscht. Wenn die Option REPLACE nicht angegeben ist, erfolgt eine Sicherheitsüberprüfung. Dadurch wird das versehentliche Überschreiben einer anderen Datenbank verhindert. Die Sicherheitsprüfung stellt sicher, dass die RESTOREDATABASE Anweisung die Datenbank nicht auf den aktuellen Server zurücksetzt, wenn die folgenden Bedingungen beide bestehen:

  • Die in der Anweisung RESTORE benannte Datenbank existiert bereits auf dem aktuellen Server, und

  • Der Datenbankname unterscheidet sich von dem im Sicherungssatz aufgezeichneten Datenbanknamen.

REPLACE ermöglicht RESTORE es außerdem, eine bestehende Datei zu überschreiben, die nicht als Teil der zu wiederherstellenden Datenbank verifiziert werden kann. Normalerweise weigert er sich, RESTORE bereits bestehende Dateien zu überschreiben. WITH REPLACE kann auch auf dieselbe Weise für die RESTORE LOG-Option verwendet werden.

Bei der Verwendung von REPLACE ist es außerdem nicht mehr notwendig, das Protokollfragment zu sichern, bevor die Datenbank wiederhergestellt wird.

Informationen zur Auswirkung der ERSETZEN-Option finden Sie unterRESTORE (Transact-SQL).

RESTART

Unterstützt von:RESTORE

Gibt an, dass SQL Server einen unterbrochenen Wiederherstellungsvorgang neu starten soll. RESTART startet den Wiederherstellungsvorgang an dem Punkt wieder neu, an dem er unterbrochen wurde.

RESTRICTED_USER

Unterstützt von:RESTORE.

Beschränkt den Zugriff auf die erneut wiederhergestellte Datenbank auf Mitglieder mit den Rollen db_owner, dbcreator oder sysadmin. RESTRICTED_USER ersetzt die Option DBO_ONLY. DBO_ONLY wurde mit SQL Server 2008 (10.0.x) eingestellt.

Verwenden Sie diese Option in Verbindung mit der Option RECOVERY.

Sicherungssatzoptionen

Diese Optionen werden für den Sicherungssatz verwendet, der die wiederherzustellende Sicherung enthält.

FILE = { backup_set_file_number | @backup_set_file_number }

Unterstützt von:RESTORE, RESTORE FILELISTONLY, , RESTORE HEADERONLYund RESTORE VERIFYONLY.

Identifiziert den wiederherzustellenden Sicherungssatz. Wenn backup_set_file_number beispielsweise den Wert 1 besitzt, weist dies auf den ersten Sicherungssatz auf dem Sicherungsmedium hin. Wenn backup_set_file_number den Wert 2 besitzt, entspricht dies dem zweiten Sicherungssatz. Sie können die backup_set_file_number eines Backup-Satzes mit der RESTORE HEADERONLY Anweisung erhalten.

Wenn nicht angegeben, ist der Standard 1, außer RESTORE HEADERONLY in diesem Fall werden alle Backup-Sets im Medienset verarbeitet. Weitere Informationen finden Sie unter Angeben eines Sicherungssatzes.

Wichtig

Diese FILE-Option steht in keinem Zusammenhang mit der FILE-Option für die Angabe einer Datenbankdatei, FILE = { logical_file_name_in_backup | @logical_file_name_in_backup_var }.

PASSWORT = { passwort | @password_variable }

Unterstützt von:RESTORE, RESTORE FILELISTONLY, , RESTORE HEADERONLYund RESTORE VERIFYONLY.

Gibt das Kennwort für den Sicherungssatz an. Das Kennwort für einen Sicherungssatz ist eine Zeichenfolge.

Hinweis

Diese Funktion wird in einer zukünftigen Version von SQL Serverentfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden.

Wenn beim Erstellen des Sicherungssatzes ein Kennwort angegeben wurde, ist dieses Kennwort erforderlich, um einen Wiederherstellungsvorgang auf der Grundlage des Sicherungssatzes auszuführen. Die Angabe eines falschen Kennworts oder die Angabe eines Kennworts, wenn der Sicherungssatz nicht über ein Kennwort verfügt, stellt einen Fehler dar.

Wichtig

Dieses Kennwort bietet nur einen geringen Schutz für den Mediensatz. Weitere Informationen finden Sie im Abschnitt zu den Berechtigungen für die jeweilige Anweisung.

[ METADATA_ONLY | SNAPSHOT ] [ DBNAME = { <Datenbankname> | @database_name_variable } ]

Wurde in SQL Server 2022 (16.x) eingeführt.

Erforderlich für die Wiederherstellung aus der Momentaufnahmesicherung. BACKUP SERVER oder BACKUP GROUP... Siehe Erstellen einer Transact-SQL-Momentaufnahmesicherung.

METADATA_ONLY steht für SNAPSHOT. Die VDI-(Virtual Device Interface-)Schnittstelle verwendet SNAPSHOT. Informationen zu VDI finden Sie unter Virtual Device Interface-(VDI-)Referenz.

Mediensatzoptionen

Diese Optionen werden für den Mediensatz insgesamt verwendet.

MEDIANAME = { media_name | @media_name_variable }

Unterstützt von:RESTORE, RESTORE FILELISTONLY, , RESTORE HEADERONLY, RESTORE LABELONLYund RESTORE VERIFYONLY.

Gibt den Mediennamen an. Falls der Medienname bereitgestellt wird, muss er mit dem Mediennamen auf den Sicherungsvolumes übereinstimmen. Andernfalls wird der Wiederherstellungsvorgang beendet. Wenn in der RESTORE Erklärung kein Medienname angegeben ist, wird die Überprüfung auf einem passenden Mediennamen auf den Backup-Volumes nicht durchgeführt.

Wichtig

Das einheitliche Verwenden von Mediennamen in Sicherungs- und Wiederherstellungsvorgängen ermöglicht eine zusätzliche Sicherheitsüberprüfung der Medien, die für den Wiederherstellungsvorgang ausgewählt wurden.

MEDIAPASSWORD = { mediapassword | @mediapassword_variable }

Unterstützt von:RESTORE, RESTORE FILELISTONLY, , RESTORE HEADERONLY, RESTORE LABELONLYund RESTORE VERIFYONLY.

Stellt das Kennwort für den Mediensatz bereit. Das Kennwort für einen Mediensatz ist eine Zeichenfolge.

Hinweis

Diese Funktion wird in einer zukünftigen Version von SQL Serverentfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden.

Wenn beim Formatieren des Mediensatzes ein Kennwort bereitgestellt wurde, ist dieses Kennwort für den Zugriff auf einen beliebigen Sicherungssatz auf dem Mediensatz erforderlich. Die Angabe eines falschen Kennworts oder die Angabe eines Kennworts, wenn der Mediensatz nicht über ein Kennwort verfügt, stellt einen Fehler dar.

Wichtig

Dieses Kennwort bietet nur einen geringen Schutz für den Mediensatz. Weitere Informationen finden Sie im Abschnitt zu den Berechtigungen der jeweiligen Anweisung.

BLOCKSIZE = { blocksize | @blocksize_variable }

Unterstützt von:RESTORE

Legt die physische Blockgröße in Bytes fest. Die unterstützten Größen sind 512, 1024, 2048, 4096, 8192, 16.384, 32.768 und 65.536 (64 KB) Bytes. Der Standardwert ist 65.536 für Bandmedien und andernfalls 512. In der Regel ist diese Option unnötig, da RESTORE automatisch eine Blockgröße ausgewählt wird, die für das Gerät geeignet ist. Mit der expliziten Angabe einer Blockgröße wird die automatische Wahl der Blockgröße überschrieben.

Wenn Sie eine Sicherung von einer CD-ROM wiederherstellen, geben Sie BLOCKSIZE=2048 an.

Hinweis

Diese Option hat i. d. R. nur dann Auswirkungen auf die Leistung, wenn von Bandmedien gelesen wird.

Datenübertragungsoptionen

Die Optionen ermöglichen es Ihnen, die Datenübertragung vom Sicherungsmedium zu optimieren.

BUFFERCOUNT = { buffercount | @buffercount_variable }

Unterstützt von:RESTORE

Gibt die Gesamtanzahl von E/A-Puffern an, die für den Wiederherstellungsvorgang verwendet werden sollen. Sie können eine beliebige positive ganze Zahl angeben. Eine große Pufferanzahl kann jedoch wegen eines ungeeigneten virtuellen Adressraumes im Prozess Sqlservr.exe zu Fehlern aufgrund von nicht genügend Arbeitsspeicher führen.

Der gesamte von den Puffern belegte Speicherplatz wird durch buffercount****maxtransfersize bestimmt.

MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }

Unterstützt von:RESTORE

Gibt die größte zu verwendende Übertragungseinheit zwischen dem Sicherungsmedium und SQL Server in Bytes an. Die möglichen Werte sind Vielfache von 65.536 Bytes (64 KB) bis hin zu 4.194.304 Bytes (4 MB).

Hinweis

Wenn für die Datenbank FILESTREAM konfiguriert ist oder In-Memory-OLTP-Dateigruppen enthält, muss MAXTRANSFERSIZE zum Zeitpunkt der Wiederherstellung größer als oder gleich dem Wert sein, der bei der Erstellung der Sicherung verwendet wurde.

Fehlerverwaltungsoptionen

Mit diesen Optionen können Sie bestimmen, ob Sicherungsprüfsummen für den Wiederherstellungsvorgang aktiviert werden und ob der Vorgang beim Auftreten eines Fehlers beendet wird.

{ CHECKSUM | NO_CHECKSUM }

Unterstützt von:RESTORE, RESTORE FILELISTONLY, , RESTORE HEADERONLY, RESTORE LABELONLYund RESTORE VERIFYONLY.

Das Standardverhalten besteht darin, Prüfsummen zu überprüfen, falls sie vorhanden sind, oder den Vorgang ohne Überprüfung fortzusetzen, falls sie nicht vorhanden sind.

CHECKSUM
Gibt an, dass Sicherungsprüfsummen überprüft werden müssen, und bewirkt, falls die Sicherung keine Sicherungsprüfsummen aufweist, dass der Wiederherstellungsvorgang einen Fehler erzeugt und eine Meldung ausgegeben wird, die auf das Fehlen der Prüfsummen hinweist.

Hinweis

Seitenprüfsummen sind für Sicherungsvorgänge nur bei Verwendung von Sicherungsprüfsummen relevant.

Standardmäßig meldet bei Auftreten einer ungültigen Prüfsumme RESTORE ein Prüfsummenfehler und stoppt. Wenn du jedoch CONTINUE_AFTER_ERROR angibst, RESTORE fährt das nach der Zurückgabe eines Prüfsummenfehlers und der Nummer der Seite mit der ungültigen Prüfsumme fort, falls die Beschädigung es erlaubt.

Weitere Informationen zur Arbeit mit Prüfsummen für Sicherungen finden Sie unter Mögliche Medienfehler während der Sicherung und Wiederherstellung (SQL Server).

NO_CHECKSUM
Deaktiviert explizit die Überprüfung von Prüfsummen durch den Wiederherstellungsvorgang.

{ STOP_ON_ERROR | CONTINUE_AFTER_ERROR }

Unterstützt von:RESTORE, RESTORE FILELISTONLY, , RESTORE HEADERONLY, RESTORE LABELONLYund RESTORE VERIFYONLY.

STOP_ON_ERROR
Gibt an, dass der Wiederherstellungsvorgang beendet wird, sobald der erste Fehler festgestellt wird. Dies ist das Standardverhalten für RESTORE, außer für VERIFYONLY, das CONTINUE_AFTER_ERROR als Standard hat.

CONTINUE_AFTER_ERROR
Gibt an, dass der Wiederherstellungsvorgang fortgesetzt werden soll, nachdem ein Fehler festgestellt wurde.

Wenn eine Sicherung beschädigte Seiten enthält, empfiehlt es sich, den Wiederherstellungsvorgang mithilfe einer alternativen Sicherung zu wiederholen, in der die Fehler nicht enthalten sind. Dies kann beispielsweise eine Sicherung sein, die ausgeführt wurde, bevor die Seiten beschädigt wurden. Als letzte Möglichkeit können Sie eine beschädigte Sicherung mithilfe der Option CONTINUE_AFTER_ERROR der Wiederherstellungsanweisung wiederherstellen und so versuchen, die Daten zu retten.

FILESTREAM-Optionen

FILESTREAM ( DIRECTORY_NAME =directory_name )

Unterstützt von:RESTORE und RESTORE VERIFYONLY

Gilt für: SQL Server 2012 (11.x) und höher

Ein Windows-kompatibler Verzeichnisname. Dieser Name sollte für alle FILESTREAM-Verzeichnisnamen auf Datenbankebene in der SQL Server-Instanz eindeutig sein. Bei Eindeutigkeitsvergleichen wird unabhängig von den SQL Server-Sortiereinstellungen die Groß-/Kleinschreibung nicht beachtet.

Überwachungsoptionen

Diese Optionen ermöglichen es Ihnen, die Datenübertragung vom Sicherungsmedium zu überwachen.

STATS [ = Prozentsatz ]

Unterstützt von:RESTORE und RESTORE VERIFYONLY

Zeigt nach jedem abgeschlossenen Prozentsatz eine Meldung an und wird als Statusanzeige verwendet. Wird der Prozentsatz nicht angegeben, zeigt SQL Server jedes Mal eine Meldung an, wenn weitere ca. 10 % des Vorgangs abgeschlossen sind.

Mit der Option STATS wird der Prozentsatz gemeldet, der beim Erreichen des Schwellenwertes für das nächste Meldungsintervall abgeschlossen ist. Dies entspricht ungefähr dem angegebenen Prozentsatz. Wenn beispielsweise STATS=10 angegeben wird, meldet Datenbank-Engine den Status ungefähr in diesem Intervall. Statt z. B. genau 40 % anzuzeigen, würde durch diese Option möglicherweise der Wert 43 % angezeigt. Bei größeren Sicherungssätzen stellt dies kein Problem dar, da sich der Wert für den abgeschlossenen Prozentsatz zwischen abgeschlossenen E/A-Aufrufen nur sehr langsam verändert.

Bandoptionen

Diese Optionen werden nur für Bandmedien verwendet. Diese Optionen werden ignoriert, wenn ein anderes Medium als ein Bandmedium verwendet wird.

{ RÜCKSPULE | NOREWIND }

Diese Optionen werden nur für Bandmedien verwendet. Die Optionen werden ignoriert, wenn ein anderes Medium als ein Bandmedium verwendet wird.

REWIND
Unterstützt von:RESTORE, RESTORE FILELISTONLY, , RESTORE HEADERONLY, RESTORE LABELONLYund RESTORE VERIFYONLY.

Gibt an, dass SQL Server das Band freigeben und zurückspulen soll. REWIND ist die Standardeinstellung.

NOREWIND
Unterstützt von:RESTORE und RESTORE VERIFYONLY

Das Angeben von NOREWIND in anderen als den angegebenen Wiederherstellungsanweisungen generiert einen Fehler.

Gibt an, dass SQL Server das Band nach dem Sicherungsvorgang offen hält. Diese Option dient der Leistungsverbesserung, wenn mehrere Sicherungsvorgänge auf einem Band ausgeführt werden.

NOREWIND impliziert NOUNLOAD, und diese Optionen sind innerhalb einer einzigen RESTORE Anweisung nicht kompatibel.

Hinweis

Wenn du NOREWIND verwendest, behält die SQL Server-Instanz das Eigentum am Bandlaufwerk, bis eine BACKUP oder-AnweisungRESTORE, die im selben Prozess läuft, entweder die REWIND- oder UNLOAD-Option nutzt oder die Serverinstanz abgeschaltet wird. Ein Offenhalten des Bandes verhindert, dass andere Prozesse auf das Band zugreifen können. Informationen zum Anzeigen einer Liste offener Bänder und zum Schließen eines offenen Bandes finden Sie unter Sicherungsmedien (SQL Server).

{ ENTLADEN | NOUNLOAD }

Unterstützt von:RESTORE, RESTORE FILELISTONLY, , RESTORE HEADERONLY, RESTORE LABELONLY, RESTORE REWINDONLY, und RESTORE VERIFYONLY.

Diese Optionen werden nur für Bandmedien verwendet. Die Optionen werden ignoriert, wenn ein anderes Medium als ein Bandmedium verwendet wird.

Hinweis

UNLOAD/NOUNLOAD ist eine Sitzungseinstellung, die für die Dauer der Sitzung oder bis zur Angabe der alternativen Einstellung persistent gespeichert wird.

UNLOAD
Gibt an, dass das Band automatisch zurückgespult und ausgeworfen wird, wenn die Sicherung vollständig ausgeführt ist. UNLOAD ist die Standardeinstellung beim Beginn einer Sitzung.

NOUNLOAD
Gibt an, dass nach dem RESTORE Vorgang das Band auf dem Bandlaufwerk geladen bleibt.

<replication_WITH_option>

Diese Option ist nur relevant, wenn die Datenbank beim Erstellen der Sicherung repliziert wurde.

KEEP_REPLICATION
Unterstützt von:RESTORE

Verwenden Sie KEEP_REPLICATION, wenn eine Replikation für die Verwendung von Protokollversand eingerichtet ist. Diese Option verhindert, dass Replikationseinstellungen entfernt werden, wenn eine Datenbank- oder Protokollsicherung auf einem betriebsbereiten Standbyserver wiederhergestellt und anschließend die Datenbank wiederhergestellt wird. Diese Option darf nicht angegeben werden, wenn eine Sicherung mit der Option NORECOVERY wiederhergestellt wird. Damit die Funktionsfähigkeit der Replikation nach einer Wiederherstellung sichergestellt ist, muss Folgendes erfüllt sein:

  • Die Datenbanken msdb und master auf dem betriebsbereiten Standbyserver müssen mit den Datenbanken msdb und master auf dem primären Server synchron sein.

  • Der betriebsbereite Standbyserver muss so umbenannt werden, dass er denselben Namen wie der primäre Server verwendet.

<change_data_capture_WITH_option>

Diese Option ist nur relevant, wenn die Datenbank beim Erstellen der Sicherung für Change Data Capture aktiviert wurde.

KEEP_CDC

Unterstützt von:RESTORE

KEEP_CDC sollte verwendet werden, um zu verhindern, dass Change Data Capture-Einstellungen entfernt werden, wenn eine Datenbank- oder Protokollsicherung auf einem anderen Server wiederhergestellt und anschließend die Datenbank wiederhergestellt wird. Diese Option darf nicht angegeben werden, wenn eine Sicherung mit der Option NORECOVERY wiederhergestellt wird.

Beim Wiederherstellen der Datenbank mit KEEP_CDC werden keine Change Data Capture-Aufträge erstellt. Wenn Sie nach der Datenbankwiederherstellung Änderungen aus dem Protokoll wiederherstellen möchten, müssen Sie den Auftrag für den Aufzeichnungsprozess und den Cleanupauftrag für die wiederhergestellte Datenbank neu erstellen. Weitere Informationen finden Sie unter sys.sp_cdc_add_job (Transact-SQL).

Informationen zur Verwendung von Change Data Capture bei der Datenbankspiegelung finden Sie unter Change Data Capture und andere SQL Server-Features.

<service_broker_WITH_options>

Aktiviert oder deaktiviert die Service Broker-Nachrichtenübermittlung oder legt einen neuen Service Broker-Bezeichner fest. Diese Option ist nur relevant, wenn für die Datenbank bei Erstellung der Sicherung Service Broker aktiviert wurde.

{ ENABLE_BROKER | ERROR_BROKER_CONVERSATIONS | NEW_BROKER }

Unterstützt von:RESTORE DATABASE

ENABLE_BROKER
Gibt an, dass die Service Broker-Nachrichtenübermittlung nach Abschluss der Wiederherstellung aktiviert wird, sodass Nachrichten unmittelbar gesendet werden können. Standardmäßig wird die Service Broker-Nachrichtenübermittlung während einer Wiederherstellung deaktiviert. Der vorhandene Service Broker-Bezeichner der Datenbank wird beibehalten.

ERROR_BROKER_CONVERSATIONS
Beendet alle Konversationen mit einem Fehler, der angibt, dass die Datenbank angefügt oder wiederhergestellt wird. Auf diese Weise können Anwendungen reguläre Cleanups für bestehende Konversationen ausführen. Die Service Broker-Nachrichtenübermittlung wird deaktiviert, bis dieser Vorgang abgeschlossen ist, und dann aktiviert. Der vorhandene Service Broker-Bezeichner der Datenbank wird beibehalten.

NEW_BROKER
Gibt an, dass der Datenbank ein neuer Service Broker-Bezeichner zugewiesen wird. Da die Datenbank als neuer Service Broker betrachtet wird, werden alle bestehenden Konversationen in der Datenbank sofort entfernt, ohne Nachrichten über das Beenden des Dialogs zu erstellen. Jede Route, die auf den alten Service Broker-Bezeichner verweist, muss mit dem neuen Bezeichner neu erstellt werden.

<point_in_time_WITH_options>

Unterstützt von:RESTORE {DATABASE|LOG} und nur für die vollständigen oder bulk-loggten Wiederherstellungsmodelle.

Sie können eine Datenbank für einen bestimmten Zeitpunkt oder eine bestimmte Transaktion wiederherstellen, indem Sie den Zielwiederherstellungspunkt in einer STOPAT-, STOPATMARK- oder STOPBEFOREMARK-Klausel angeben. Die Wiederherstellung zu einem bestimmten Zeitpunkt oder einer bestimmten Transaktion erfolgt immer aus einer Protokollsicherung. In jeder RESTORE LOG-Anweisung der Wiederherstellungssequenz müssen Sie Ihre Zielzeit oder -transaktion in einer identischen STOPAT-, STOPATMARK- oder STOPBEFOREMARK-Klausel angeben.

Als Voraussetzung für eine Zeitpunktwiederherstellung müssen Sie zuerst eine vollständige Datenbanksicherung wiederherstellen, deren Endpunkt vor dem Zielwiederherstellungspunkt liegt. Um Ihnen zu helfen, welches Datenbank-Backup Sie wiederherstellen sollten, können Sie optional Ihre WITH STOPAT-, STOPATMARK- oder STOPBEFOREMARK-Klausel in einer RESTOREDATABASE Anweisung angeben, um einen Fehler auszulösen, falls eine Datensicherung für die angegebene Zielzeit zu aktuell ist. Die vollständige Datensicherung wird jedoch immer wiederhergestellt, auch wenn sie den Zielzeitpunkt enthält.

Hinweis

Die RESTORE_DATABASE und RESTORE_LOG Point-in-Time WITH-Optionen sind ähnlich, aber nur RESTORE LOG stützt das mark_name Argument.

{ STOPAT | STOPATMARK | STOPBEFOREMARK }

STOPAT = { 'datetime'_datetime_var | @* }
Gibt an, dass die Datenbank in dem Status wiederhergestellt wird, der zu dem Zeitpunkt (Datum und Uhrzeit) bestand, der durch den datetime-Parameter oder den @datetime_var-Parameter angegeben wird. Weitere Informationen zur Angabe von Datum und Uhrzeit finden Sie unter Datums- und Uhrzeitdatentypen und zugehörige Funktionen (Transact-SQL).

Wenn eine Variable für STOPAT verwendet wird, muss es sich um eine Variable vom Datentyp varchar, char, smalldatetime oder datetime handeln. Nur Transaktionsprotokolleinträge, die vor dem angegebenen Datum und der angegebenen Uhrzeit geschrieben wurden, werden auf die Datenbank angewendet.

Hinweis

Wenn die angegebene STOPAT-Zeit nach dem letzten LOG-Backup liegt, bleibt die Datenbank im nicht wiederhergestellten Zustand, genauso wie wenn RESTORE LOG mit NORECOVERY ausgeführt wurde.

Informationen finden Sie unter Wiederherstellen einer SQL Server-Datenbank auf einen Zeitpunkt (Vollständiges Wiederherstellungsmodell).

STOPATMARK = { 'mark_name'' | lsn:lsn_number' } [ AFTER 'datetime' ]
Gibt die Wiederherstellung bis zu einem bestimmten Wiederherstellungspunkt an. Die angegebene Transaktion wird in die Wiederherstellung eingeschlossen. Es wird jedoch nur dann ein Commit für die Transaktion ausgeführt, wenn auch für die ursprünglich generierte Transaktion ein Commit ausgeführt wurde.

Sowohl als auch RESTOREDATABASERESTORE LOG unterstützen den lsn_number-Parameter . Mit diesem Parameter wird eine Protokollfolgenummer angegeben.

Der mark_name-Parameter wird nur von der LOG-Anweisung RESTORE unterstützt. Mit diesem Parameter wird eine Transaktionsmarkierung in der Protokollsicherung angegeben.

In einer RESTORE LOG-Anweisung endet, wenn AFTER Datetime weggelassen wird, die Wiederherstellung an der ersten Markierung mit dem angegebenen Namen. Wenn AFTER datetime angegeben ist, wird die Wiederherstellung bei der ersten Markierung beendet, die den angegebenen Namen genau um oder nach datetime hat.

Hinweis

Wenn die angegebene Markierung, LSN oder Zeit nach dem letzten LOG-Backup liegt, bleibt die Datenbank im nicht wiederhergestellten Zustand, genauso wie wenn RESTORE LOG mit NORECOVERY ausgeführt wurde.

Weitere Informationen finden Sie unter Wiederherstellen von verwandten Datenbanken mithilfe von markierten Transaktionen (Vollständiges Wiederherstellungsmodell) und unter Wiederherstellen einer Protokollfolgenummer (SQL Server).

STOPBEFOREMARK = { 'mark_name'' | lsn:lsn_number' } [ NACH 'datetime' ]
Gibt die Wiederherstellung bis zu einem bestimmten Wiederherstellungspunkt an. Die angegebene Transaktion wird nicht in die Wiederherstellung aufgenommen, und es wird ein Rollback für sie ausgeführt, wenn WITH RECOVERY verwendet wird.

Sowohl als auch RESTOREDATABASERESTORE LOG unterstützen den lsn_number-Parameter . Mit diesem Parameter wird eine Protokollfolgenummer angegeben.

Der mark_name-Parameter wird nur von der LOG-Anweisung RESTORE unterstützt. Mit diesem Parameter wird eine Transaktionsmarkierung in der Protokollsicherung angegeben.

In einer RESTORE LOG-Anweisung stoppt die Wiederherstellung, wenn AFTER Datetime weggelassen wird, kurz vor der ersten Markierung mit dem angegebenen Namen. Wenn AFTER datetime angegeben ist, wird die Wiederherstellung bei der ersten Markierung beendet, die den angegebenen Namen genau um oder nach datetime hat.

Wichtig

Wenn in einer Teilwiederherstellungssequenz eine FILESTREAM-Dateigruppe ausgeschlossen wird, wird die Wiederherstellung bis zu einem bestimmten Zeitpunkt nicht unterstützt. Sie können das Fortsetzen der Wiederherstellungssequenz erzwingen. Die FILESTREAM-Dateigruppen, die in der Anweisung RESTORE ausgelassen wurden, können jedoch niemals wiederhergestellt werden. Wenn Sie eine Wiederherstellung bis zu einem bestimmten Zeitpunkt erzwingen möchten, geben Sie die CONTINUE_AFTER_ERROR-Option zusammen mit der Option STOPAT, STOPATMARK oder STOPBEFOREMARK an. Wenn Sie CONTINUE_AFTER_ERROR angeben, ist die Teilwiederherstellungssequenz erfolgreich, und die FILESTREAM-Dateigruppe wird nicht mehr wiederherstellbar.

Resultsets

Informationen zu Resultsets finden Sie in den folgenden Artikeln:

Bemerkungen

Zusätzliche Hinweise finden Sie in den folgenden Artikeln:

Angeben eines Sicherungssatzes

Ein Sicherungssatz enthält die Sicherung aus einem einzelnen, erfolgreichen Sicherungsvorgang. RESTORE, RESTORERESTORE FILELISTONLY, , RESTORERESTORE HEADERONLYund Anweisungen RESTORERESTORE VERIFYONLY arbeiten auf einem einzigen Backup-Set innerhalb des Mediensatzes auf dem angegebenen Backup-Gerät oder den Geräten. Sie sollten den benötigten Sicherungssatz innerhalb des Mediensatzes angeben. Sie können die backup_set_file_number eines Backup-Satzes mit der RESTORE HEADERONLY Anweisung erhalten.

Der wiederherzustellende Sicherungssatz wird mit der folgenden Option angegeben:

FILE ={ backup_set_file_number | @backup_set_file_number }

Dabei gibt backup_set_file_number die Position der Sicherung im Mediensatz an. Wenn backup_set_file_number den Wert 1 (FILE = 1) besitzt, weist dies auf den ersten Sicherungssatz auf dem Sicherungsmedium hin. Und wenn backup_set_file_number den Wert 2 (FILE = 2) besitzt, entspricht dies dem zweiten Sicherungssatz, usw.

Das Verhalten der Option hängt von der Anweisung ab, wie in der folgenden Tabelle beschrieben:

-Anweisung. Verhalten der Sicherungssatzoption FILE
RESTORE Der Standardwert für die Sicherungssatz-Dateinummer ist 1. In einer RESTORE Anweisung ist nur eine Backup-Set-FILE-Option erlaubt. Es ist wichtig, dass Sicherungssätze in der richtigen Reihenfolge angegeben werden.
RESTORE FILELISTONLY Der Standardwert für die Sicherungssatz-Dateinummer ist 1.
RESTORE HEADERONLY Standardmäßig werden alle Sicherungssätze im Mediensatz verarbeitet. Die Ergebnismenge RESTORE HEADERONLY liefert Informationen über jede Sicherungsmenge, einschließlich ihrer Position im Mediensatz. Geben Sie die Positionsnummer eines Sicherungssatzes als backup_set_file_number-Wert in der FILE-Option an, um Informationen zu einem bestimmten Sicherungssatz zurückzugeben.

Hinweis: Für Bandmedien RESTORE verarbeitet HEADER nur Backup-Sets auf dem geladenen Band.
RESTORE VERIFYONLY Der Standardwert für backup_set_file_number beträgt 1.

Hinweis

Die FILE-Option für die Angabe eines Sicherungssatzes steht in keinem Zusammenhang mit der FILE-Option für die Angabe einer Datenbankdatei, FILE = { logical_file_name_in_backup | @logical_file_name_in_backup_var }.

Zusammenfassung der Unterstützung für WITH-Optionen

Die folgenden WITH-Optionen werden nur durch die RESTORE Anweisung unterstützt: BLOCKSIZE, BUFFERCOUNT, MAXTRANSFERSIZE, PARTIAL, KEEP_REPLICATION, { RECOVERY | NORECOVERY | STANDBY }, ERSETZEN, NEU STARTEN, RESTRICTED_USER UND { STOPAT | STOPATMARK | STOPBEFOREMARK }

Hinweis

Die PARTIAL-Option wird nur von RESTOREDATABASEunterstützt.

In der folgenden Liste sind die WITH-Optionen aufgeführt, die von einer oder mehreren Anweisungen verwendet werden. Für jede Option ist angegeben, von welchen Anweisungen sie unterstützt wird. Ein Häkchen (√) zeigt die Unterstützung der jeweiligen Option an, ein Strich (—) zeigt an, dass die Option nicht unterstützt wird.

WITH-Option RESTORE RESTORE FILELISTONLY RESTORE HEADERONLY RESTORE LABELONLY RESTORE REWINDONLY RESTORE VERIFYONLY
{ CHECKUM

| NO_CHECKSUM }
-
{ CONTINUE_AFTER_ERROR

| STOP_ON_ERROR }
-
FILE1 - -
LOADHISTORY - - - - -
MEDIANAME -
MEDIAPASSWORD -
MOVE - - - -
PASSWORD - -
{ RÜCKSPULE | NOREWIND } Nur REWIND Nur REWIND Nur REWIND -
STATISTIK - - - -
{ ENTLADEN | NOUNLOAD }

1 FILE =backup_set_file_number unterscheidet sich von {FILE | FILEGROUP}.

Berechtigungen

Informationen zu Berechtigungen finden Sie in den folgenden Artikeln:

Beispiele

Beispiele finden Sie in den folgenden Artikeln:

Nächste Schritte