Freigeben über


RESTORE-Argumente (Transact-SQL)

In diesem Thema werden die Argumente, die in den Abschnitten über die Syntax der RESTORE {DATABASE|LOG}-Anweisung und der zugeordneten Gruppe der folgenden Hilfsanweisungen beschrieben werden, dokumentiert: RESTORE FILELISTONLY, RESTORE HEADERONLY, RESTORE LABELONLY, RESTORE REWINDONLY und RESTORE VERIFYONLY. Die meisten der Argumente werden nur von einer Untermenge dieser sechs Anweisungen unterstützt. In der Beschreibung des Arguments ist angegeben, welche Anweisungen das jeweilige Argument unterstützen.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Argumente

  • DATABASE
    Unterstützt durch: 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. Wenn eine Datenbank ohne vorherige Sicherung der Protokollfragments wiederhergestellt wird, tritt ein Fehler auf. Dies gilt nicht, wenn die RESTORE DATABASE-Anweisung die WITH REPLACE- oder die WITH STOPAT-Klausel enthält, in der eine Zeit oder Transaktion nach dem Ende der Datensicherung angegeben sein muss. Weitere Informationen zur Sicherung des Protokollfragments finden Sie unter Sicherungen des Protokollfragments.

  • LOG
    Unterstützt durch: RESTORE

    Gibt an, dass eine Transaktionsprotokollsicherung auf diese Datenbank angewendet werden soll. Transaktionsprotokolle müssen sequenziell angewendet werden. SQL Server überprüft das gesicherte Transaktionsprotokoll, 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.

    HinweisHinweis

    Ü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, nachdem ein Datenbankfehler aufgetreten ist. 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 Sicherungen des Protokollfragments.

    Weitere Informationen finden Sie unter Verwenden von Transaktionsprotokollsicherungen.

  • { database_name | **@**database_name_var}
    Unterstützt durch: 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 durch: RESTORE

    Gibt den Namen einer logischen Datei oder Dateigruppe oder einer Seite an, die in eine RESTORE DATABASE- oder RESTORE LOG-Anweisung eingeschlossen 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).

    Bei einer Datenbank, für die das vollständige oder massenprotokollierte Wiederherstellungsmodell verwendet wird, müssen Sie nach der Verwendung von RESTORE DATABASE zum Wiederherstellen einer oder mehrerer Dateien, Dateigruppen und/oder Seiten normalerweise das Transaktionsprotokoll auf die Dateien anwenden, die die wiederhergestellten Daten enthalten. Durch die Anwendung des Protokolls wird die Konsistenz dieser Dateien mit dem Rest der Datenbank erreicht. Hierbei gelten die folgenden Ausnahmen:

    • Wenn die Dateien, die wiederhergestellt werden, vor der letzten Sicherung schreibgeschützt waren, muss kein Transaktionsprotokoll angewendet werden. Sie werden von der RESTORE-Anweisung über diesen Sachverhalt informiert.

    • 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.

      Hinweis 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.

      HinweisHinweis

      Seitenwiederherstellungen werden nie wiederhergestellt.

      Weitere Informationen zur Seitenwiederherstellung finden Sie unter Ausführen von Seitenwiederherstellungen.

    • [ ,...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 dazu können Sie in der FROM-Klausel einer RESTORE DATABASE-Anweisung auch den Namen eines Snapshots angeben, auf den die Datenbank zurückgesetzt werden soll. In diesem Fall ist die WITH-Klausel nicht zulässig.

    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 durch: RESTORE, RESTORE FILELISTONLY, RESTORE HEADERONLY, RESTORE LABELONLY, RESTORE REWINDONLY und RESTORE VERIFYONLY.

      - \<backup\_device\> ::=  
        Gibt ein logisches oder physisches Sicherungsmedium an, das wie folgt 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. Wenn er als Variable (**@**logical\_backup\_device\_name\_var) angegeben wurde, kann der Name des Sicherungsmediums entweder als Zeichenfolgenkonstante (**@**logical\_backup\_device\_name\_var = logical\_backup\_device\_name) oder als Variable mit einem Zeichenfolgen-Datentyp angegeben werden, mit Ausnahme der Datentypen ntext und text.
        
          - {DISK | TAPE } **=** { **'**physical\_backup\_device\_name**'** | **@**physical\_backup\_device\_name\_var }  
            Ermöglicht die Wiederherstellung von Sicherungen von dem angegebenen Datenträger- oder Bandmedium. 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'. Wenn der Name als Variable (**@**physical\_backup\_device\_name\_var) angegeben wurde, kann der Name des Geräts entweder als Zeichenfolgenkonstante (**@**physical\_backup\_device\_name\_var = physcial\_backup\_device\_name) oder als Variable mit einem Zeichenfolgen-Datentyp angegeben werden, mit Ausnahme der Datentypen ntext und text.
            
            Wenn Sie einen Netzwerkserver mit einem UNC-Namen (der den Computernamen enthalten muss) verwenden, geben Sie als Gerätetyp Datenträger an. Weitere Informationen zum Verwenden von UNC-Namen finden Sie unter [Sicherungsmedien](ms179313\(v=sql.100\).md).
            
            Das Konto, unter dem SQL Server ausgeführt wird, muss über Lesezugriff auf den Remotecomputer oder Netzwerkserver verfügen, damit ein RESTORE-Vorgang ausgeführt werden kann.
    
      - 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:
        
          - Eine Offlinewiederherstellung ermöglicht die Wiederherstellung einer Sicherung mithilfe einer kleineren Anzahl von Medien, als beim Erstellen der Sicherung verwendet wurden.
        
          - Bei der Onlinewiederherstellung sind alle Sicherungsmedien der Sicherung erforderlich. Der Versuch, eine kleinere Anzahl von Medien bei der Wiederherstellung zu verwenden, führt zu einem 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.
        
        Weitere Informationen finden Sie unter [Arbeiten mit Sicherungsmedien in SQL Server](ms191316\(v=sql.100\).md).
    
    <div class="alert">
    
    <table>
    <colgroup>
    <col style="width: 100%" />
    </colgroup>
    <thead>
    <tr class="header">
    <th><img src="images/ms173548.alert_note(de-de,SQL.100).gif" title="Hinweis" alt="Hinweis" class="note" /><strong>Hinweis</strong></th>
    </tr>
    </thead>
    <tbody>
    <tr class="odd">
    <td><p>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.</p></td>
    </tr>
    </tbody>
    </table>
    
    </div>

  - \<database\_snapshot\>::=  

Unterstützt durch: RESTORE DATABASE

      - DATABASE\_SNAPSHOT **=**database\_snapshot\_name  
        Stellt die Datenbank mit dem Datenbank-Snapshot wieder her, der durch database\_snapshot\_name angegeben wurde. Die Option DATABASE\_SNAPSHOT ist nur bei einer vollständigen Datenbankwiederherstellung verfügbar. Beim Zurücksetzen tritt der Datenbanksnapshot an die Stelle der vollständigen Datenbanksicherung.
        
        Für das Zurücksetzen ist es erforderlich, dass der angegebene Datenbanksnapshot der einzige Snapshot für die Datenbank ist. Während des Vorgangs werden der Datenbanksnapshot und die Zieldatenbank als In restore markiert. Weitere Informationen finden Sie im Abschnitt "Hinweise" in [RESTORE DATABASE](ms186858\(v=sql.100\).md).

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 Thema.

HinweisHinweis

Die WITH-Optionen sind hier in der gleichen Reihenfolge wie im Abschnitt "Syntax" in RESTORE {DATABASE|LOG} sortiert.

  • PARTIAL
    Unterstützt durch: 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 Option PARTIAL ist bei RESTORE LOG-Anweisungen nicht zulässig.

    Beginnend mit SQL Server 2005 wird durch die Option PARTIAL 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 Ausführen der schrittweisen Wiederherstellung.

    HinweisHinweis

    Die Anfangsphase einer schrittweisen Wiederherstellung ersetzt die teilweise Datenbankwiederherstellung von MicrosoftSQL Server 2000. Mithilfe einer teilweisen Datenbankwiederherstellung sollte ausschließlich ein beschädigter Teil einer Datenbank (eine Teilmenge der Dateigruppen) an einem neuen Speicherort wiederhergestellt werden, sodass die beschädigten oder fehlenden Daten in die ursprüngliche Datenbank zurückkopiert werden können. Eine teilweise wiederhergestellte Datenbank sollte nicht als Produktionsdatenbank verwendet werden. Zur Leistungsverbesserung wurden daher viele der üblichen Sicherheitsüberprüfungen von RESTORE ignoriert. In SQL Server 2005 und höheren Versionen werden diese Sicherheitsüberprüfungen jedoch durch die Option PARTIAL ausgeführt.

  • [ RECOVERY | NORECOVERY | STANDBY ]
    Unterstützt durch: 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.

      Falls nachfolgende RESTORE-Vorgänge (RESTORE LOG oder RESTORE DATABASE von differenzieller Sicherung) geplant sind, sollte 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 Datenbankupdate erforderlich. Dieses Update erfolgt automatisch, wenn WITH RECOVERY angegeben ist. Weitere Informationen finden Sie unter Anwenden von Transaktionsprotokollsicherungen.

      HinweisHinweis

      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.

      Wenn Sie eine Datenbanksicherung und ein oder mehrere Transaktionsprotokolle wiederherstellen oder wenn mehrere RESTORE-Anweisungen notwendig sind (z. B. wenn eine vollständige Datenbanksicherung und danach eine differenzielle Datenbanksicherung wiederhergestellt wird), muss die Option WITH NORECOVERY für alle RESTORE-Anweisungen angegeben werden. Dies gilt jedoch nicht für die letzte RESTORE-Anweisung. Eine bewährte Methode ist das Verwenden der Option WITH NORECOVERY für ALLE Anweisungen in einer aus mehreren Schritten bestehenden Wiederherstellungssequenz, bis der gewünschte Wiederherstellungspunkt erreicht ist. Danach verwenden Sie eine separate RESTORE WITH RECOVERY-Anweisung ausschließlich für die Wiederherstellung.

      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 einigen Fällen bewirkt RESTORE WITH NORECOVERY einen Rollforward der Rollforwardgruppe, der weit genug reicht, um die Konsistenz mit der Datenbank zu erreichen. In diesen Fällen erfolgt kein Rollback, und die Daten bleiben offline, wie bei dieser Option zu erwarten ist. In Database Engine (Datenbankmodul) 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 Datenbankupdate erforderlich ist.

      HinweisHinweis

      In SQL Server 2000 wurde diese Datei "Rückgängigdatei" genannt.

      Mithilfe der Standbydatei wird ein Vorababbild (mithilfe der Kopie bei Schreibvorgang) für Seiten beibehalten, die während der Umkehrphase eines RESTORE WITH STANDBY-Vorgangs 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 einem RESTORE WITH STANDBY-Vorgang wird die Rückgängigdatei beim nächsten RESTORE-Vorgang automatisch gelöscht. Wenn diese Standbydatei vor dem nächsten RESTORE-Vorgang manuell gelöscht wird, muss die ganze Datenbank erneut 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 Database Engine (Datenbankmodul) offen gehalten.

      Mit standby_file_name wird eine Standbydatei angegeben, deren Speicherort im Protokoll der Datenbank gespeichert wird. Wenn der angegebene Name von einer vorhandenen Datei verwendet wird, wird die Datei überschrieben. Andernfalls wird die Datei von Database Engine (Datenbankmodul) 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.

      Wichtiger HinweisWichtig

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

    Einen Vergleich zwischen RECOVERY und NORECOVERY finden Sie im Abschnitt mit den Hinweisen unter RESTORE.

  • LOADHISTORY
    Unterstützt durch: 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).

<general_WITH_options> [ ,...n ]

Alle allgemeinen WITH-Optionen werden in der RESTORE DATABASE-Anweisung und der RESTORE LOG-Anweisung unterstützt. Einige dieser Optionen werden, wie unten angegeben, auch von einer oder mehreren Hilfsanweisungen unterstützt.

Wiederherstellungsoptionen

Diese Optionen beeinflussen das Verhalten des Wiederherstellungsvorgangs.

  • MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name' [ ...n ]
    Unterstützt durch: RESTORE und RESTORE VERIFYONLY

    Gibt, an, dass die Daten- oder Protokolldatei, deren logischer Name durch logical_file_name_in_backup angegeben wird, verschoben werden soll, indem sie am 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 zu dem Zeitpunkt, als der Sicherungssatz erstellt wurde.

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

    HinweisHinweis

    Mit RESTORE FILELISTONLY können Sie eine Liste abrufen, in der die logischen Dateien eines Sicherungssatzes aufgeführt sind.

    Wenn eine RESTORE-Anweisung zum Verschieben einer Datenbank auf demselben Server oder zum Kopieren der Datenbank auf einen anderen Server verwendet wird, kann die Option MOVE notwendig sein, um die Datenbankdateien zu verschieben und Konflikte mit vorhandenen Dateien zu vermeiden.

    Wenn die Option MOVE mit RESTORE LOG verwendet wird, kann sie nur zum Verschieben von Dateien verwendet werden, die während des Intervalls hinzugefügt wurden, das durch das wiederherzustellende Protokoll abgedeckt wird. Wenn die Protokollsicherung beispielsweise eine Dateihinzufügung für die Datei file23 enthält, kann diese Datei mithilfe der Option MOVE in RESTORE LOG verschoben werden.

    Wenn eine RESTORE VERIFYONLY-Anweisung verwendet wird, um eine Datenbank auf demselben Server zu verschieben oder um sie auf einen anderen Server zu kopieren, kann die Option MOVE notwendig sein. Sie wird verwendet, um zu überprüfen, ob ausreichend Speicherplatz auf dem Zielserver verfügbar ist und um potenzielle Konflikte mit vorhandenen Dateien zu identifizieren.

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

  • REPLACE
    Unterstützt durch: 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 Sicherheitsüberprüfung stellt sicher, dass die RESTORE DATABASE-Anweisung die Datenbank nicht auf dem aktuellen Server wiederherstellt, wenn beide der folgenden Bedingungen erfüllt sind:

    • Die in der RESTORE-Anweisung angegebene Datenbank ist bereits auf dem aktuellen Server vorhanden.

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

    Durch die Angabe von REPLACE kann mit RESTORE außerdem eine vorhandene Datei überschrieben werden, deren Zugehörigkeit zu der Datenbank, die wiederhergestellt wird, nicht festgestellt werden kann. Normalerweise ist das Überschreiben vorhandener Dateien mit RESTORE nicht möglich. Auf dieselbe Weise kann WITH REPLACE auch in Verbindung mit RESTORE LOG verwendet werden.

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

    Weitere Informationen finden Sie unter Verwenden der Option REPLACE.

  • RESTART
    Unterstützt durch: 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 durch: RESTORE.

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

    Verwenden Sie diese Option in Verbindung mit der Option RECOVERY.

    Weitere Informationen finden Sie unter Festlegen von Datenbankoptionen.

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 durch: RESTORE, RESTORE FILELISTONLY, RESTORE HEADERONLY und RESTORE VERIFYONLY.

    Identifiziert den wiederherzustellenden Sicherungssatz. Wenn backup_set_file_number beispielsweise den Wert 1 besitzt, so 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 von einem Sicherungssatz mit der RESTORE HEADERONLY-Anweisung abrufen.

    Wenn dieses Argument nicht angegeben wird, gilt der Standardwert 1. Eine Ausnahme stellt RESTORE HEADERONLY dar; hier werden alle Sicherungssätze im Mediensatz verarbeitet. Weitere Informationen finden Sie im Abschnitt zum Angeben eines Sicherungssatzes weiter unten in diesem Thema.

    Wichtiger HinweisWichtig

    Diese Option FILE ist unabhängig von der Option FILE zum Angeben einer Datenbankdatei, FILE = { logical_file_name_in_backup | @logical_file_name_in_backup_var }.

  • PASSWORD = { password | **@**password_variable }
    Unterstützt durch: RESTORE, RESTORE FILELISTONLY, RESTORE HEADERONLY und RESTORE VERIFYONLY.

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

    HinweisHinweis

    Diese Funktion wird in zukünftigen Versionen von Microsoft SQL Server nicht mehr bereitgestellt. Verwenden Sie diese Funktion beim Entwickeln neuer Anwendungen nicht, und planen Sie das Ändern von Anwendungen, in denen es zurzeit verwendet wird.

    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.

    Wichtiger HinweisWichtig

    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.

Mediensatzoptionen

Diese Optionen werden für den Mediensatz insgesamt verwendet.

  • MEDIANAME = { media_name | **@**media_name_variable}
    Unterstützt durch: RESTORE, RESTORE FILELISTONLY, RESTORE HEADERONLY, RESTORE LABELONLY und 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. Falls kein Medienname in der RESTORE-Anweisung angegeben wird, wird keine Überprüfung auf einen übereinstimmenden Mediennamen auf den Sicherungsvolumes ausgeführt.

    Wichtiger HinweisWichtig

    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 durch: RESTORE, RESTORE FILELISTONLY, RESTORE HEADERONLY, RESTORE LABELONLY und RESTORE VERIFYONLY.

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

    HinweisHinweis

    Diese Funktion wird in zukünftigen Versionen von Microsoft SQL Server nicht mehr bereitgestellt. Verwenden Sie diese Funktion beim Entwickeln neuer Anwendungen nicht, und planen Sie das Ändern von Anwendungen, in denen es zurzeit verwendet wird.

    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.

    Wichtiger HinweisWichtig

    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 durch: 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 sonst 512. In der Regel ist diese Option nicht erforderlich, da von RESTORE automatisch eine Blockgröße ausgewählt wird, die für das Medium geeignet ist. Mit der expliziten Angabe einer Blockgröße wird die automatische Auswahl der Blockgröße außer Kraft gesetzt.

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

    HinweisHinweis

    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 durch: 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 durch: 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).

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 durch: RESTORE, RESTORE FILELISTONLY, RESTORE HEADERONLY, RESTORE LABELONLY und 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.

      HinweisHinweis

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

      Wenn eine ungültige Prüfsumme festgestellt wird, meldet RESTORE standardmäßig einen Prüfsummenfehler und beendet den Vorgang. Wenn Sie jedoch CONTINUE_AFTER_ERROR angeben, fährt RESTORE mit der Wiederherstellung fort. Dies erfolgt, nachdem ein Prüfsummenfehler und die Nummer der Seite zurückgegeben wurde, vorausgesetzt, die Beschädigung lässt dies zu.

      Weitere Informationen zum Verwenden von Sicherungsprüfsummen finden Sie unter Erkennen und Bewältigen von Medienfehlern während der Sicherung und Wiederherstellung.

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

  • { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }
    Unterstützt durch: RESTORE, RESTORE FILELISTONLY, RESTORE HEADERONLY, RESTORE LABELONLY und RESTORE VERIFYONLY.

    • STOP_ON_ERROR
      Gibt an, dass der Wiederherstellungsvorgang beendet wird, sobald der erste Fehler festgestellt wird. Das ist das Standardverhalten von RESTORE. Eine Ausnahme stellt VERIFYONLY dar; hier wird das Standardverhalten durch CONTINUE_AFTER_ERROR definiert.

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

      Informationen zum Fortsetzen der Wiederherstellung trotz möglicher Fehler finden Sie unter Reagieren auf SQL Server-Wiederherstellungsfehler als Folge von beschädigten Sicherungen.

      Wenn eine Sicherung beschädigte Seiten enthält, ist es das Beste, 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.

Überwachungsoptionen

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

  • STATS [ = percentage ]
    Unterstützt durch: RESTORE und RESTORE VERIFYONLY

    Zeigt nach jedem abgeschlossenen Prozentsatz eine Meldung an und wird als Statusanzeige verwendet. Wird percentage nicht angegeben, zeigt SQL Server jedes Mal eine Meldung an, wenn weitere 10 % (ungefähr) des Vorgangs abgeschlossen sind.

    Mit der Option STATS wird der Prozentsatz gemeldet, der beim Erreichen des Schwellenwerts für das nächste Meldungsintervall abgeschlossen ist. Dies entspricht ungefähr dem angegebenen Prozentsatz. Wenn beispielsweise STATS=10 angegeben wird, meldet Database Engine (Datenbankmodul) 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.

  • { REWIND | 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 durch: RESTORE, RESTORE FILELISTONLY, RESTORE HEADERONLY, RESTORE LABELONLY und RESTORE VERIFYONLY.

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

    • NOREWIND
      Unterstützt durch: 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 RESTORE-Anweisung inkompatibel.

      HinweisHinweis

      Wenn Sie NOREWIND verwenden, bleibt die Instanz von SQL Server Besitzer des Bandlaufwerks, bis in einer BACKUP- oder RESTORE-Anweisung, die in demselben Prozess ausgeführt wird, die Option REWIND oder UNLOAD verwendet wird oder bis die Serverinstanz heruntergefahren 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 Bands finden Sie unter Sicherungsmedien.

  • { UNLOAD | NOUNLOAD }
    Unterstützt durch: 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.

    HinweisHinweis

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

    • 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 das Band nach dem RESTORE-Vorgang im Bandlaufwerk geladen bleibt.

<replication_WITH_option>

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

  • KEEP_REPLICATION
    Unterstützt durch: RESTORE

    KEEP_REPLICATION sollte verwendet werden, 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 synchronisiert 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 durch: RESTORE

    Mit KEEP_CDC verhindern Sie, 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).

<service_broker_WITH_options>  [ ,...n ]

Aktiviert bzw. deaktiviert die Service Broker-Nachrichtenübermittlung oder legt einen neuen Service Broker-Bezeichner fest. Weitere Informationen zur Nachrichtenübermittlung und zu Service Broker-Bezeichnern finden Sie unter Verwalten von Service Broker-Identitäten. Diese Option ist nur relevant, wenn Service Broker beim Erstellen der Sicherung für die Datenbank aktiviert wurde.

  • { ENABLE_BROKER  | ERROR_BROKER_CONVERSATIONS  | NEW_BROKER }
    Unterstützt durch: 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 durch: RESTORE {DATABASE|LOG} wird nur für das vollständige oder das massenprotokollierte Wiederherstellungsmodell verwendet.

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 den Zielzeitpunkt oder die 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. Damit Sie besser ermitteln können, welche Datenbanksicherung wiederhergestellt werden soll, können Sie optional die WITH STOPAT-, STOPATMARK- oder STOPBEFOREMARK-Klausel in einer RESTORE DATABASE-Anweisung angeben, um einen Fehler auszulösen, wenn eine Datensicherung zu aktuell für den angegebenen Zielzeitpunkt ist. Die vollständige Datensicherung wird jedoch immer wiederhergestellt, auch wenn sie den Zielzeitpunkt enthält.

HinweisHinweis

Die point_in_time_WITH_options für RESTORE_DATABASE und RESTORE_LOG sind ähnlich, aber nur RESTORE_LOG unterstü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 zum Angeben eines Datums und einer Uhrzeit finden Sie unter Verwenden von Datums- und Zeitdaten.

      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.

      HinweisHinweis

      Liegt die angegebene STOPAT-Zeit nach der letzten LOG-Sicherung, bleibt die Datenbank in einem nicht wiederhergestellten Status, als wäre RESTORE LOG mit NORECOVERY ausgeführt worden.

      Weitere Informationen finden Sie unter Wiederherstellen einer Datenbank bis zu einem Punkt in einer Sicherung.

    • 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 für RESTORE DATABASE als auch für RESTORE LOG wird der lsn_number-Parameter unterstützt. Mit diesem Parameter wird eine Protokollfolgenummer angegeben.

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

      Wenn AFTER datetime in einer RESTORE LOG-Anweisung nicht angegeben ist, wird die Wiederherstellung bei der ersten Markierung mit dem angegebenen Namen beendet. Wenn AFTER datetime angegeben ist, wird die Wiederherstellung bei der ersten Markierung beendet, die den angegebenen Namen genau um oder nach datetime hat.

      HinweisHinweis

      Liegt die angegebene Markierung, LSN oder Zeit nach der letzten LOG-Sicherung, bleibt die Datenbank in einem nicht wiederhergestellten Status, als wäre RESTORE LOG mit NORECOVERY ausgeführt worden.

      Weitere Informationen finden Sie unter Verwenden markierter Transaktionen (vollständiges Wiederherstellungsmodell) und Wiederherstellen zu einer Protokollfolgenummer (LSN).

    • STOPBEFOREMARK = { 'mark_name' | 'lsn:lsn_number' } [ AFTER '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 für RESTORE DATABASE als auch für RESTORE LOG wird der lsn_number-Parameter unterstützt. Mit diesem Parameter wird eine Protokollfolgenummer angegeben.

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

      Wenn AFTER datetime in einer RESTORE LOG-Anweisung nicht angegeben ist, wird die Wiederherstellung unmittelbar vor der ersten Markierung mit dem angegebenen Namen beendet. Wenn AFTER datetime angegeben ist, wird die Wiederherstellung genau vor der ersten Markierung beendet, die den angegebenen Namen genau um oder nach datetime hat.

    Wichtiger HinweisWichtig

    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 nicht in die RESTORE-Anweisung eingeschlossen werden, können jedoch zu keinem Zeitpunkt 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 Themen:

Hinweise

Zusätzliche Hinweise finden Sie in den folgenden Themen:

Angeben eines Sicherungssatzes

Ein Sicherungssatz enthält die Sicherung durch einen einzelnen, erfolgreichen Sicherungsvorgang. Die Anweisungen RESTORE, RESTORE FILELISTONLY, RESTORE HEADERONLY und RESTORE VERIFYONLY verarbeiten einen einzelnen Sicherungssatz innerhalb des Mediensatzes auf den angegebenen Sicherungsmedien. Sie sollten den benötigten Sicherungssatz innerhalb des Mediensatzes angeben. Sie können die backup_set_file_number von einem Sicherungssatz mit der RESTORE HEADERONLY-Anweisung abrufen.

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. Ein backup_set_file_number-Wert 1 (FILE = 1) gibt beispielsweise den ersten Sicherungssatz auf dem Sicherungsmedium an, ein backup_set_file_number-Wert 2 (FILE = 2) den zweiten Sicherungssatz usw.

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

Statement

Verhalten der Sicherungssatzoption FILE

RESTORE

Der Standardwert für die Sicherungssatz-Dateinummer ist 1. In einer RESTORE-Anweisung ist nur eine einzelne Sicherungssatzoption FILE zulässig. 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 Resultsets von RESTORE HEADERONLY geben Informationen zu jedem Sicherungssatz zurück, einschließlich seiner Position im Mediensatz. Geben Sie die Positionsnummer eines Sicherungssatzes als backup_set_file_number-Wert in der Option FILE an, um Informationen zu einem bestimmten Sicherungssatz zurückzugeben.

HinweisHinweis
Bei Bandmedien verarbeitet RESTORE HEADER nur Sicherungssätze auf dem geladenen Band.

RESTORE VERIFYONLY

Der Standardwert von backup_set_file_number ist 1.

HinweisHinweis

Die Option FILE zum Angeben eines Sicherungssatzes ist unabhängig von der Option FILE zum Angeben 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 von der RESTORE-Anweisung unterstützt: BLOCKSIZE, BUFFERCOUNT, MAXTRANSFERSIZE, PARTIAL, KEEP_REPLICATION, { RECOVERY | NORECOVERY | STANDBY }, REPLACE, RESTART, RESTRICTED_USER, and { STOPAT | STOPATMARK | STOPBEFOREMARK }

HinweisHinweis

Die Option PARTIAL wird nur von RESTORE DATABASE unterstü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

{ CHECKSUM

| NO_CHECKSUM }

{ CONTINUE_AFTER_ERROR

| STOP_ON_ERROR }

FILE1

LOADHISTORY

MEDIANAME

MEDIAPASSWORD

MOVE

PASSWORD

{ REWIND | NOREWIND }

Nur REWIND

Nur REWIND

Nur REWIND

STATS

{ UNLOAD | NOUNLOAD }

1 FILE **=**backup_set_file_number, which is distinct from {FILE | FILEGROUP}.

Beispiele

Beispiele finden Sie in den folgenden Themen: