RESTORE-Anweisungen (Transact-SQL)RESTORE Statements (Transact-SQL)

Stellt SQL-Datenbank-Sicherungen wieder her, die mit dem BACKUP-Befehl erstellt wurden.Restores SQL database backups taken using the BACKUP command.

Klicken Sie auf eine der folgenden Registerkarten, um Syntax, Argumente, Hinweise, Berechtigungen und Beispiele für eine bestimmte SQL-Version anzuzeigen, mit der Sie arbeiten.Click one of the following tabs for the syntax, arguments, remarks, permissions, and examples for a particular SQL version with which you are working.

Weitere Informationen zu Syntaxkonventionen finden Sie unter Transact-SQL-Syntaxkonventionen.For more information about the syntax conventions, see Transact-SQL Syntax Conventions.

Wählen Sie ein Produkt.Click a product!

Klicken Sie in der folgenden Zeile auf den Namen des Produkts, das Sie am meisten interessiert.In the following row, click whichever product name you are interested in. Mit nur einem Klick erhalten Sie Informationen zu dem ausgewählten Produkt:The click displays different content here, appropriate for whichever product you click:

* SQL Server *  * SQL Server *   SQL-Datenbank
verwaltete Instanz
SQL Database
managed instance
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

SQL ServerSQL Server

Mit diesem Befehl können Sie das folgende Wiederherstellungsszenario durchführen:This command enables you to perform the following restore scenarios:

  • Wiederherstellen einer ganzen Datenbank aus einer vollständigen Datenbanksicherung (vollständige Wiederherstellung).Restore an entire database from a full database backup (a complete restore).
  • Wiederherstellen eines Teils einer Datenbank (teilweise Wiederherstellung).Restore part of a database (a partial restore).
  • Wiederherstellen bestimmter Dateien oder Dateigruppen einer Datenbank (Dateiwiederherstellung).Restore specific files or filegroups to a database (a file restore).
  • Wiederherstellen bestimmter Seiten einer Datenbank (Seitenwiederherstellung).Restore specific pages to a database (a page restore).
  • Wiederherstellen eines Transaktionsprotokolls in einer Datenbank (Transaktionsprotokollwiederherstellung).Restore a transaction log onto a database (a transaction log restore).
  • Wiederherstellen einer Datenbank auf den Zeitpunkt, der über eine Datenbankmomentaufnahme erfasst wurde.Revert a database to the point in time captured by a database snapshot.

Weitere Informationen zu SQL ServerSQL Server-Wiederherstellungsszenarien finden Sie unter Übersicht über Wiederherstellungsvorgänge.For more information about SQL ServerSQL Server restore scenarios, see Restore and Recovery Overview. Weitere Informationen und Argumentbeschreibungen finden Sie unter RESTORE-Argumente.For more information about descriptions of the arguments, see RESTORE Arguments. Berücksichtigen Sie beim Wiederherstellen einer Datenbank aus einer anderen Instanz die Informationen unter Verwalten von Metadaten beim Bereitstellen einer Datenbank auf einer anderen Serverinstanz (SQL Server).When restoring a database from another instance, consider the information from Manage Metadata When Making a Database Available on Another Server Instance (SQL Server).

Hinweis

Weitere Informationen zur Wiederherstellung von Microsoft Azure Blob Storage finden Sie unter SQL Server-Sicherung und -Wiederherstellung mit Microsoft Azure Blob Storage.For more information about restoring from the Microsoft Azure Blob storage service, see SQL Server Backup and Restore with Microsoft Azure Blob Storage Service.

SyntaxSyntax

--To Restore an Entire Database from a Full database backup (a Complete Restore):
RESTORE DATABASE { database_name | @database_name_var }
 [ FROM <backup_device> [ ,...n ] ]
 [ WITH
   {
    [ RECOVERY | NORECOVERY | STANDBY =
        {standby_file_name | @standby_file_name_var }
       ]
   | ,  <general_WITH_options> [ ,...n ]
   | , <replication_WITH_option>
   | , <change_data_capture_WITH_option>
   | , <FILESTREAM_WITH_option>
   | , <service_broker_WITH options>
   | , \<point_in_time_WITH_options-RESTORE_DATABASE>
   } [ ,...n ]
 ]
[;]

--To perform the first step of the initial restore sequence of a piecemeal restore:
RESTORE DATABASE { database_name | @database_name_var }
   <files_or_filegroups> [ ,...n ]
 [ FROM <backup_device> [ ,...n ] ]
   WITH
      PARTIAL, NORECOVERY
      [  , <general_WITH_options> [ ,...n ]
       | , \<point_in_time_WITH_options-RESTORE_DATABASE>
      ] [ ,...n ]
[;]  

--To Restore Specific Files or Filegroups:
RESTORE DATABASE { database_name | @database_name_var }
   <file_or_filegroup> [ ,...n ]
 [ FROM <backup_device> [ ,...n ] ]
   WITH
   {
      [ RECOVERY | NORECOVERY ]
      [ , <general_WITH_options> [ ,...n ] ]
   } [ ,...n ]
[;]  

--To Restore Specific Pages:
RESTORE DATABASE { database_name | @database_name_var }
   PAGE = 'file:page [ ,...n ]'
 [ , <file_or_filegroups> ] [ ,...n ]
 [ FROM <backup_device> [ ,...n ] ]
   WITH
       NORECOVERY
      [ , <general_WITH_options> [ ,...n ] ]
[;]

--To Restore a Transaction Log:
RESTORE LOG { database_name | @database_name_var }
 [ <file_or_filegroup_or_pages> [ ,...n ] ]
 [ FROM <backup_device> [ ,...n ] ]
 [ WITH
   {
     [ RECOVERY | NORECOVERY | STANDBY =
        {standby_file_name | @standby_file_name_var }
       ]
    | , <general_WITH_options> [ ,...n ]
    | , <replication_WITH_option>
    | , \<point_in_time_WITH_options-RESTORE_LOG>
   } [ ,...n ]
 ]
[;]

--To Revert a Database to a Database Snapshot:
RESTORE DATABASE { database_name | @database_name_var }
FROM DATABASE_SNAPSHOT = database_snapshot_name

<backup_device>::=
{
   { logical_backup_device_name |
      @logical_backup_device_name_var }
 | { DISK
     | TAPE
     | URL
   } = { 'physical_backup_device_name' |
      @physical_backup_device_name_var }
}
Note: URL is the format used to specify the location and the file name for the Microsoft Azure Blob. Although Microsoft Azure storage is a service, the implementation is similar to disk and tape to allow for a consistent and seamless restore experience for all the three devices.
<files_or_filegroups>::=
{
   FILE = { logical_file_name_in_backup | @logical_file_name_in_backup_var }
 | FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
 | READ_WRITE_FILEGROUPS
}

<general_WITH_options> [ ,...n ]::=
--Restore Operation Options
   MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name'
          [ ,...n ]
 | REPLACE
 | RESTART
 | RESTRICTED_USER | CREDENTIAL

--Backup Set Options
 | FILE = { backup_set_file_number | @backup_set_file_number }
 | PASSWORD = { password | @password_variable }

--Media Set Options
 | MEDIANAME = { media_name | @media_name_variable }
 | MEDIAPASSWORD = { mediapassword | @mediapassword_variable }
 | BLOCKSIZE = { blocksize | @blocksize_variable }

--Data Transfer Options
 | BUFFERCOUNT = { buffercount | @buffercount_variable }
 | MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }

--Error Management Options
 | { CHECKSUM | NO_CHECKSUM }
 | { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }

--Monitoring Options
 | STATS [ = percentage ]

--Tape Options.
 | { REWIND | NOREWIND }
 | { UNLOAD | NOUNLOAD }

<replication_WITH_option>::=
 | KEEP_REPLICATION

<change_data_capture_WITH_option>::=
 | KEEP_CDC

<FILESTREAM_WITH_option>::=
 | FILESTREAM ( DIRECTORY_NAME = directory_name )

<service_broker_WITH_options>::=
 | ENABLE_BROKER
 | ERROR_BROKER_CONVERSATIONS
 | NEW_BROKER

\<point_in_time_WITH_options-RESTORE_DATABASE>::=
 | {
   STOPAT = { 'datetime'| @datetime_var }
 | STOPATMARK = 'lsn:lsn_number'
                 [ AFTER 'datetime']
 | STOPBEFOREMARK = 'lsn:lsn_number'
                 [ AFTER 'datetime']
   }

\<point_in_time_WITH_options-RESTORE_LOG>::=
 | {
   STOPAT = { 'datetime'| @datetime_var }
 | STOPATMARK = { 'mark_name' | 'lsn:lsn_number' }
                 [ AFTER 'datetime']
 | STOPBEFOREMARK = { 'mark_name' | 'lsn:lsn_number' }
                 [ AFTER 'datetime']
   }

ArgumenteArguments

Argumentbeschreibungen finden Sie unter RESTORE-Argumente.For descriptions of the arguments, see RESTORE Arguments.

Info zu WiederherstellungsszenarienAbout Restore Scenarios

SQL ServerSQL Server unterstützt eine Vielzahl von Wiederherstellungsszenarien:supports a variety of restore scenarios:

Wenn die Onlinewiederherstellung unterstützt wird und die Datenbank online ist, sind Datei- und Seitenwiederherstellungen automatisch Onlinewiederherstellungen. Dies gilt auch für Wiederherstellungen einer sekundären Dateigruppe nach der Anfangsphase einer schrittweisen Wiederherstellung.Where online restore is supported, if the database is online, file restores and page restores are automatically online restores and, also, restores of secondary filegroup after the initial stage of a piecemeal restore.

Hinweis

Bei Onlinewiederherstellungen können verzögerte Transaktionen auftreten.Online restores can involve deferred transactions.

Weitere Informationen finden Sie unter Onlinewiederherstellung.For more information, see Online Restore.

Weitere Überlegungen zu RESTORE-OptionenAdditional Considerations About RESTORE Options

Nicht mehr unterstützte RESTORE-SchlüsselwörterDiscontinued RESTORE Keywords

Die folgenden Schlüsselwörter werden in SQL Server 2008SQL Server 2008 nicht mehr unterstützt:The following keywords were discontinued in SQL Server 2008SQL Server 2008:

Nicht mehr unterstütztes SchlüsselwortDiscontinued keyword Ersetzt durch...Replaced by... Beispiel für ErsetzungsschlüsselwortExample of replacement keyword
LOADLOAD RESTORERESTORE RESTORE DATABASE
TRANSACTIONTRANSACTION LOGLOG RESTORE LOG
DBO_ONLYDBO_ONLY RESTRICTED_USERRESTRICTED_USER RESTORE DATABASE ... WITH RESTRICTED_USER

RESTORE LOGRESTORE LOG

RESTORE LOG kann eine Dateiliste einschließen, um das Erstellen von Dateien bei einem Rollforward zu ermöglichen.RESTORE LOG can include a file list to allow for creation of files during rollforward. Diese wird verwendet, wenn die Protokollsicherung Protokolleinträge enthält, die erstellt wurden, als der Datenbank eine Datei hinzugefügt wurde.This is used when the log backup contains log records written when a file was added to the database.

Hinweis

Bei einer Datenbank, die das Modell der vollen oder massenprotokollierten Wiederherstellung verwendet, ist in den meisten Fällen die Sicherung des Protokollfragments erforderlich, bevor die Datenbank wiederhergestellt wird.For a database using the full or bulk-logged recovery model, in most cases you must back up the tail of the log before restoring the database. Wenn eine Datenbank ohne vorherige Sicherung des 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.Restoring a database without first backing up the tail of the log results in an error, unless the RESTORE DATABASE statement contains either the WITH REPLACE or the WITH STOPAT clause, which must specify a time or transaction that occurred after the end of the data backup. Weitere Informationen zu Sicherungen des Protokollfragments finden Sie unter Protokollfragmentsicherungen.For more information about tail-log backups, see Tail-Log Backups.

Vergleich zwischen RECOVERY und NORECOVERYComparison of RECOVERY and NORECOVERY

Ein Rollback wird von der RESTORE-Anweisung über die Optionen [ RECOVERY | NORECOVERY ] gesteuert:Rollback is controlled by the RESTORE statement through the [ RECOVERY | NORECOVERY ] options:

  • NORECOVERY gibt an, dass kein Rollback erfolgt.NORECOVERY specifies that rollback doesn't occur. Damit kann das Rollforward die nächste Anweisung in der Sequenz fortsetzen.This allows rollforward to continue with the next statement in the sequence.

    In diesem Fall können über die Wiederherstellungssequenz andere Sicherungen wiederhergestellt werden, und für diese kann ein Rollforward ausgeführt werden.In this case, the restore sequence can restore other backups and roll them forward.

  • RECOVERY (die Standardeinstellung) gibt an, dass das Rollback erst dann ausgeführt werden kann, wenn das Rollforward für die aktuelle Sicherung abgeschlossen ist.RECOVERY (the default) indicates that rollback should be performed after rollforward is completed for the current backup.

    Das Wiederherstellen der Datenbank erfordert, dass die gesamte Gruppe der wiederhergestellten Daten (Rollforwardgruppe) mit der Datenbank konsistent ist.Recovering the database requires that the entire set of data being restored (the rollforward set) is consistent with the database. Wenn das Rollforward für die Rollforwardgruppe nicht weit genug ausgeführt wurde, um die Konsistenz mit der Datenbank herzustellen, und wenn RECOVERY angegeben ist, dann gibt Datenbank-EngineDatabase Engine einen Fehler aus.If the rollforward set has not been rolled forward far enough to be consistent with the database and RECOVERY is specified, the Datenbank-EngineDatabase Engine issues an error. Informationen zum Wiederherstellungsprozess finden Sie unter (SQL Server).For more information about the recovery process, see Restore and Recovery Overview (SQL Server).

KompatibilitätsunterstützungCompatibility Support

Sicherungen der Datenbanken master, model und msdb, die mit einer früheren Version von SQL ServerSQL Server erstellt wurden, können von SQL Server 2019 (15.x)SQL Server 2019 (15.x) nicht wiederhergestellt werden.Backups of master, model and msdb that were created by using an earlier version of SQL ServerSQL Server cannot be restored by SQL Server 2019 (15.x)SQL Server 2019 (15.x).

Hinweis

Es wird keine SQL ServerSQL Server-Sicherung in einer Version von SQL ServerSQL Server hergestellt, die älter als die Version ist, mit der die Sicherung erstellt wurde.No SQL ServerSQL Server backup be restored to an earlier version of SQL ServerSQL Server than the version on which the backup was created.

Jede Version von SQL ServerSQL Server verwendet im Vergleich zu früheren Versionen jedoch einen anderen Standardpfad.Each version of SQL ServerSQL Server uses a different default path than earlier versions. Daher muss zum Wiederherstellen einer Datenbank, die am Standardort für Sicherungen in früheren Versionen erstellt wurde, die MOVE-Option verwendet werden.Therefore, to restore a database that was created in the default location for earlier version backups, you must use the MOVE option. Informationen zum neuen Standardpfad finden Sie unter Dateispeicherorte für Standard- und benannte Instanzen von SQL Server.For information about the new default path, see File Locations for Default and Named Instances of SQL Server.

Nachdem Sie eine Datenbank einer früheren Version in SQL Server 2019 (15.x)SQL Server 2019 (15.x)wiederhergestellt haben, wird die Datenbank automatisch aktualisiert.After you restore an earlier version database to SQL Server 2019 (15.x)SQL Server 2019 (15.x), the database is automatically upgraded. In der Regel ist die Datenbank sofort verfügbar.Typically, the database becomes available immediately. Wenn eine SQL Server 2005 (9.x)SQL Server 2005 (9.x)-Datenbank aber Volltextindizes aufweist, werden diese beim Upgrade entweder importiert, zurückgesetzt oder neu erstellt, je nach der Einstellung der Servereigenschaft upgrade_option.However, if a SQL Server 2005 (9.x)SQL Server 2005 (9.x) database has full-text indexes, the upgrade process either imports, resets, or rebuilds them, depending on the setting of the upgrade_option server property. Wenn die Upgradeoption auf „Importieren“ (upgrade_option = 2) oder „Neu erstellen“ (upgrade_option = 0) festgelegt ist, sind die Volltextindizes während des Upgrades nicht verfügbar.If the upgrade option is set to import (upgrade_option = 2) or rebuild (upgrade_option = 0), the full-text indexes will be unavailable during the upgrade. Je nach Menge der indizierten Daten kann der Importvorgang mehrere Stunden dauern; die Neuerstellung sogar bis zu zehnmal länger.Depending on the amount of data being indexed, importing can take several hours, and rebuilding can take up to ten times longer. Wenn die Upgradeoption auf Importieren festgelegt ist und kein Volltextkatalog verfügbar ist, werden die zugehörigen Volltextindizes neu erstellt.Note also that when the upgrade option is set to import, the associated full-text indexes are rebuilt if a full-text catalog is not available. Verwenden Sie sp_fulltext_service , um die Einstellung der Servereigenschaft upgrade_optionzu ändern.To change the setting of the upgrade_option server property, use sp_fulltext_service.

Wird eine Datenbank zum ersten Mal an eine neue Instanz von SQL ServerSQL Serverangefügt oder wiederhergestellt, ist noch keine Kopie des Datenbank-Hauptschlüssels (verschlüsselt vom Diensthauptschlüssel) auf dem Server gespeichert.When a database is first attached or restored to a new instance of SQL ServerSQL Server, a copy of the database master key (encrypted by the service master key) is not yet stored in the server. Der Datenbank-Hauptschlüssel (Database Master Key, DMK) muss mithilfe der Anweisung OPEN MASTER KEY entschlüsselt werden.You must use the OPEN MASTER KEY statement to decrypt the database master key (DMK). Nachdem der Datenbank-Hauptschlüssel entschlüsselt wurde, können Sie für die Zukunft die automatische Entschlüsselung aktivieren, indem Sie die Anweisung ALTER MASTER KEY REGENERATE verwenden. Auf diese Weise können Sie eine Kopie des mit dem Diensthauptschlüssel (Service Master Key, SMK) verschlüsselten Datenbank-Hauptschlüssels für den Server bereitstellen.Once the DMK has been decrypted, you have the option of enabling automatic decryption in the future by using the ALTER MASTER KEY REGENERATE statement to provision the server with a copy of the DMK, encrypted with the service master key (SMK). Wenn eine Datenbank von einer früheren Version aktualisiert wurde, sollte der DMK neu generiert werden, damit er den neueren AES-Algorithmus verwendet.When a database has been upgraded from an earlier version, the DMK should be regenerated to use the newer AES algorithm. Weitere Informationen zum Neugenerieren des DMK finden Sie unter ALTER MASTER KEY.For more information about regenerating the DMK, see ALTER MASTER KEY. Die zum Neugenerieren des DMK zum Upgrade auf AES erforderliche Zeit hängt von der Anzahl der Objekte ab, die durch den DMK geschützt werden.The time required to regenerate the DMK key to upgrade to AES depends upon the number of objects protected by the DMK. Der DMK muss nur einmal auf AES aktualisiert und neu generiert werden. Dies hat keine Auswirkungen auf zukünftige Neugenerierungen im Rahmen einer Schlüsselrotationsstrategie.Regenerating the DMK key to upgrade to AES is only necessary once, and has no impact on future regenerations as part of a key rotation strategy.

Allgemeine HinweiseGeneral Remarks

Wenn bei einer Offlinewiederherstellung die angegebene Datenbank verwendet wird, zwingt RESTORE die Benutzer nach einer kurzen Verzögerung zum Beenden der Datenbankverwendung.During an offline restore, if the specified database is in use, RESTORE forces the users off after a short delay. Bei der Onlinewiederherstellung einer nicht primären Dateigruppe kann die Datenbank weiter verwendet werden, es sei denn, die zu wiederherstellende Dateigruppe wird offline geschaltet.For online restore of a non-primary filegroup, the database can stay in use except when the filegroup being restored is being taken offline. Alle in der angegebenen Datenbank vorhandenen Daten werden durch die wiederhergestellten Daten ersetzt.Any data in the specified database is replaced by the restored data.

Wiederherstellungsvorgänge über Plattformen hinweg, sogar zwischen unterschiedlichen Prozessortypen, können ausgeführt werden, solange die Sortierung der Datenbank vom Betriebssystem unterstützt wird.Cross-platform restore operations, even between different processor types, can be performed as long as the collation of the database is supported by the operating system.

RESTORE kann nach einem Fehler neu gestartet werden.RESTORE can be restarted after an error. Außerdem können Sie RESTORE anweisen, den Vorgang auch bei Fehlern fortzusetzen und so viele Daten wie möglich wiederherzustellen (siehe die Option CONTINUE_AFTER_ERROR).In addition, you can instruct RESTORE to continue despite errors, and it restores as much data as possible (see the CONTINUE_AFTER_ERROR option).

RESTORE ist nicht in einer expliziten oder implizierten Transaktion zulässig.RESTORE is not allowed in an explicit or implicit transaction.

Für das Wiederherstellen einer beschädigten master-Datenbank ist eine spezielle Vorgehensweise erforderlich.Restoring a damaged master database is performed using a special procedure. Weitere Informationen finden Sie unter Sichern und Wiederherstellen von Systemdatenbanken.For more information, see Back Up and Restore of System Databases.

Durch das Wiederherstellen einer Datenbank wird der Plancache für die wiederherzustellende Datenbank gelöscht.Restoring a database clears the plan cache for the database being restored. Durch das Löschen des Plancaches wird eine Neukompilierung aller nachfolgenden Ausführungspläne verursacht, und möglicherweise entsteht plötzlich eine temporäre Verringerung der Abfrageleistung.Clearing the plan cache causes a recompilation of all subsequent execution plans and can cause a sudden, temporary decrease in query performance.

Um eine Verfügbarkeitsdatenbank wiederherzustellen, stellen Sie zuerst die Datenbank mit der Instanz von SQL ServerSQL Server wieder her, und fügen Sie dann die Datenbank der Verfügbarkeitsgruppe hinzu.To restore an availability database, first restore the database to the instance of SQL ServerSQL Server, and then add the database to the availability group.

InteroperabilitätInteroperability

Datenbankeinstellungen und -wiederherstellungDatabase Settings and Restoring

Bei einer Wiederherstellung werden die meisten Datenbankoptionen, die mit ALTER DATABASE festgelegt werden können, auf die Werte zurückgesetzt, die am Ende der Sicherung gültig waren.During a restore, most of the database options that are settable using ALTER DATABASE are reset to the values in force at the time of the end of backup.

Durch die Verwendung der Option WITH RESTRICTED_USER wird dieses Verhalten jedoch für die Einstellung der Benutzerzugriffsoption überschrieben.Using the WITH RESTRICTED_USER option, however, overrides this behavior for the user access option setting. Diese Einstellung wird immer im Anschluss an eine RESTORE-Anweisung festgelegt, die die Option WITH RESTRICTED_USER einschließt.This setting is always set following a RESTORE statement, which includes the WITH RESTRICTED_USER option.

Wiederherstellen einer verschlüsselten DatenbankRestoring an Encrypted Database

Um eine verschlüsselte Datenbank wiederherstellen zu können, muss das Zertifikat oder der asymmetrische Schlüssel verfügbar sein, das oder der zum Verschlüsseln der Datenbank verwendet wurde.To restore a database that is encrypted, you must have access to the certificate or asymmetric key that was used to encrypt the database. Ohne das Zertifikat oder den asymmetrischen Schlüssel kann die Datenbank nicht wiederhergestellt werden.Without the certificate or asymmetric key, the database cannot be restored. Darum muss das Zertifikat, das zur Verschlüsselung des Verschlüsselungsschlüssels für die Datenbank verwendet wurde, so lange beibehalten werden, wie die Sicherung benötigt wird.As a result, the certificate that is used to encrypt the database encryption key must be retained as long as the backup is needed. Weitere Informationen finden Sie unter SQL Server Certificates and Asymmetric Keys.For more information, see SQL Server Certificates and Asymmetric Keys.

Wiederherstellen einer für vardecimal-Speicher aktivierten DatenbankRestoring a Database Enabled for vardecimal Storage

Sicherungs- und Wiederherstellungsvorgänge können mit dem Speicherformat vardecimal ordnungsgemäß ausgeführt werden.Backup and restore work correctly with the vardecimal storage format. Weitere Informationen zum Speicherformat vardecimal finden Sie unter sp_db_vardecimal_storage_format.For more information about vardecimal storage format, see sp_db_vardecimal_storage_format.

Wiederherstellen von VolltextdatenRestore Full-Text Data

Bei einer vollständigen Wiederherstellung werden Volltextdaten zusammen mit anderen Datenbankdaten wiederhergestellt.Full-text data is restored together with other database data during a complete restore. Beim Verwenden der normalen Syntax RESTORE DATABASE database_name FROM backup_device erfolgt die Wiederherstellung der Volltextdateien bei der Wiederherstellung der Datenbankdateien.Using the regular RESTORE DATABASE database_name FROM backup_device syntax, the full-text files are restored as part of the database file restore.

Die RESTORE-Anweisung kann auch für folgende Wiederherstellungen verwendet werden: Wiederherstellungen auf alternativen Speicherorten, differenzielle Wiederherstellungen, Datei- und Dateigruppenwiederherstellungen sowie differenzielle Datei- und Dateigruppenwiederherstellungen von Volltextdaten.The RESTORE statement also can be used to perform restores to alternate locations, differential restores, file and filegroup restores, and differential file and filegroup restores of full-text data. Darüber hinaus können mit RESTORE Volltextdateien ohne oder mit Datenbankdaten wiederhergestellt werden.In addition, RESTORE can restore full-text files only, as well as with database data.

Hinweis

Aus SQL Server 2005 (9.x)SQL Server 2005 (9.x) importierte Volltextkataloge werden immer noch als Datenbankdateien behandelt.Full-text catalogs imported from SQL Server 2005 (9.x)SQL Server 2005 (9.x) are still treated as database files. Für diese findet weiterhin die SQL Server 2005 (9.x)SQL Server 2005 (9.x)-Prozedur zur Sicherung von Volltextkatalogen Anwendung. Das Anhalten und Fortsetzen des Sicherungsvorgangs ist jedoch nicht mehr erforderlich.For these, the SQL Server 2005 (9.x)SQL Server 2005 (9.x) procedure for backing up full-text catalogs remains applicable, except that pausing and resuming during the backup operation are no longer necessary. Weitere Informationen finden Sie unter Sichern und Wiederherstellen von Volltextkatalogen.For more information, see Backing Up and Restoring Full-Text Catalogs.

Big Data-Cluster für SQL ServerSQL Server Big Data Clusters

Bestimmte Vorgänge, einschließlich der Konfiguration von Servereinstellungen (auf Instanzebene) oder manuelles Hinzufügen einer Datenbank zu einer Verfügbarkeitsgruppe, erfordern eine Verbindung mit der SQL Server-Instanz.Certain operations, including configuring server (instance level) settings, or manually adding a database to an availability group, require a connection to the SQL Server Instance. Vorgänge wie sp_configure, RESTORE DATABASE oder ein beliebiger DDL-Befehl in einer Datenbank einer Verfügbarkeitsgruppe erfordern eine Verbindung mit der SQL Server-Instanz.Operations like sp_configure, RESTORE DATABASE, or any DDL command in a database belonging to an availability group require a connection to the SQL Server instance. Standardmäßig enthält ein Big Data-Cluster keinen Endpunkt, der eine Verbindung mit der Instanz ermöglicht.By default, a big data cluster does not include an endpoint that enables a connection to the instance. Sie müssen diesen Endpunkt manuell verfügbar machen.You must expose this endpoint manually.

Anweisungen finden Sie unter Herstellen einer Verbindung mit Datenbanken auf dem primären Replikat.For instructions, see Connect to databases on the primary replica.

MetadatenMetadata

SQL ServerSQL Server enthält Tabellen mit Sicherungs- und Wiederherstellungsverlauf, in denen die Sicherungs- und Wiederherstellungsaktivität für jede Serverinstanz nachverfolgt wird.includes backup and restore history tables that track the backup and restore activity for each server instance. Beim Ausführen einer Wiederherstellung werden auch die Tabellen mit Sicherungsverläufen geändert.When a restore is performed, the backup history tables are also modified. Informationen zu diesen Tabellen finden Sie unter Sicherungsverlauf und Headerinformationen.For information on these tables, see Backup History and Header Information.

Auswirkung der REPLACE-OptionREPLACE Option Impact

REPLACE sollte selten und nur nach sorgfältiger Überlegung verwendet werden.REPLACE should be used rarely and only after careful consideration. Die Wiederherstellung verhindert normalerweise, dass eine Datenbank versehentlich durch eine andere Datenbank überschrieben wird.Restore normally prevents accidentally overwriting a database with a different database. Wenn die in einer RESTORE-Anweisung angegebene Datenbank bereits auf dem aktuellen Server vorhanden ist und sich die angegebene GUID der Datenbankfamilie von der im Sicherungssatz aufgezeichneten GUID der Datenbankfamilie unterscheidet, wird die Datenbank nicht wiederhergestellt.If the database specified in a RESTORE statement already exists on the current server and the specified database family GUID differs from the database family GUID recorded in the backup set, the database is not restored. Dies ist ein wichtiges Sicherheitselement.This is an important safeguard.

Die Option REPLACE überschreibt verschiedene wichtige Sicherheitsprüfungen, die die Wiederherstellung normalerweise ausführt.The REPLACE option overrides several important safety checks that restore normally performs. Folgende Prüfungen werden überschrieben:The overridden checks are as follows:

  • Wiederherstellung über eine vorhandene Datenbank mit einer von einer anderen Datenbank erstellten Sicherung.Restoring over an existing database with a backup taken of another database.

    Mit der Option REPLACE ermöglicht die Wiederherstellung das Überschreiben einer vorhandenen Datenbank mit einer beliebigen im Sicherungssatz enthaltenen Datenbank, selbst wenn der angegebene Datenbankname sich von dem im Sicherungssatz aufgezeichneten Datenbanknamen unterscheidet.With the REPLACE option, restore allows you to overwrite an existing database with whatever database is in the backup set, even if the specified database name differs from the database name recorded in the backup set. Dies kann zur Folge haben, dass eine Datenbank versehentlich durch eine andere Datenbank überschrieben wird.This can result in accidentally overwriting a database by a different database.

  • Wiederherstellung über eine Datenbank mithilfe des vollständigen oder massenprotokollierten Wiederherstellungsmodells, wobei keine Sicherung des Protokollfragments erstellt wurde und die Option STOPAT nicht verwendet wird.Restoring over a database using the full or bulk-logged recovery model where a tail-log backup has not been taken and the STOPAT option is not used.

    Mit der Option REPLACE können Sie Arbeit verlieren, für die ein Commit ausgeführt wurde, da das zuletzt geschriebene Protokoll nicht gesichert wurde.With the REPLACE option, you can lose committed work, because the log written most recently has not been backed up.

  • Überschreiben von vorhandenen Dateien.Overwriting existing files.

    Beispielsweise könnten irrtümlicherweise Dateien des falschen Typs (z. B. XLS-Dateien) oder Dateien, die von einer anderen Datenbank verwendet werden, die zurzeit nicht online ist, überschrieben werden.For example, a mistake could allow overwriting files of the wrong type, such as .xls files, or that are being used by another database that is not online. Willkürliche Datenverluste sind möglich, wenn vorhandene Dateien überschrieben werden, auch wenn die wiederhergestellte Datenbank vollständig ist.Arbitrary data loss is possible if existing files are overwritten, although the restored database is complete.

Wiederholen einer WiederherstellungRedoing a Restore

Eine Wiederherstellung kann nicht rückgängig gemacht werden. Sie können jedoch die Auswirkungen des Datenkopiervorgangs und des Rollforwards negieren, indem Sie noch einmal beginnen und pro Datei vorgehen.Undoing the effects of a restore is not possible; however, you can negate the effects of the data copy and rollforward by starting over on a per-file basis. Um noch einmal zu starten, stellen Sie die gewünschte Datei wieder her und führen dann erneut das Rollforward aus.To start over, restore the desired file and perform the rollforward again. Wenn Sie beispielsweise versehentlich zu viele Protokollsicherungen wiederhergestellt haben und über den beabsichtigten Endpunkt hinausgegangen sind, müssen Sie die Sequenz neu starten.For example, if you accidentally restored too many log backups and overshot your intended stopping point, you would have to restart the sequence.

Eine Wiederherstellungssequenz kann abgebrochen und neu gestartet werden, indem der gesamte Inhalt der betroffenen Dateien wiederhergestellt wird.A restore sequence can be aborted and restarted by restoring the entire contents of the affected files.

Wiederherstellen einer Datenbank aus einer Datenbank-MomentaufnahmeReverting a Database to a Database Snapshot

Über einen Datenbank-Wiederherstellungsvorgang (angegeben mithilfe der Option DATABASE_SNAPSHOT) wird eine Datenbank mit einer vollständigen Quelle in einen früheren Zustand versetzt, indem sie auf den Zeitpunkt einer Datenbankmomentaufnahme wiederhergestellt wird. Das bedeutet, dass die Quelldatenbank mit Daten von dem Zeitpunkt überschrieben wird, der in der angegebenen Datenbankmomentaufnahme erfasst ist.A revert database operation (specified using the DATABASE_SNAPSHOT option) takes a full source database back in time by reverting it to the time of a database snapshot, that is, overwriting the source database with data from the point in time maintained in the specified database snapshot. Derzeit darf nur die Momentaufnahme vorhanden sein, aus der Sie die Datenbank wiederherstellen.Only the snapshot to which you are reverting can currently exist. Bei diesem Wiederherstellungsvorgang wird das Protokoll neu erstellt (deshalb können Sie für eine wiederhergestellte Datenbank später kein Rollforward bis zum Punkt des Benutzerfehlers durchführen).The revert operation then rebuilds the log (therefore, you cannot later rollforward a reverted database to the point of user error).

Der Datenverlust beschränkt sich auf Updates der Datenbank, die nach der Erstellung der Momentaufnahme vorgenommen wurden.Data loss is confined to updates to the database since the snapshot's creation. Die Metadaten einer wiederhergestellten Datenbank sind dieselben wie die Metadaten zum Zeitpunkt der Momentaufnahmeerstellung.The metadata of a reverted database is the same as the metadata at the time of snapshot creation. Durch das Wiederherstellen einer Momentaufnahme werden jedoch alle Volltextkataloge gelöscht.However, reverting to a snapshot drops all the full-text catalogs.

Die Wiederherstellung von einer Datenbankmomentaufnahme ist nicht für die Medienwiederherstellung vorgesehen.Reverting from a database snapshot is not intended for media recovery. Im Gegensatz zu einem normalen Sicherungssatz ist die Datenbankmomentaufnahme eine unvollständige Kopie der Datenbankdateien.Unlike a regular backup set, the database snapshot is an incomplete copy of the database files. Wenn die Datenbank oder die Datenbankmomentaufnahme beschädigt ist, ist die Wiederherstellung von einer Momentaufnahme vermutlich unmöglich.If either the database or the database snapshot is corrupted, reverting from a snapshot is likely to be impossible. Zudem ist es eher unwahrscheinlich, dass das Problem durch eine Wiederherstellung im Falle einer Beschädigung behoben wird, selbst wenn eine Wiederherstellung möglich ist.Furthermore, even when possible, reverting in the event of corruption is unlikely to correct the problem.

Einschränkungen zur WiederherstellungRestrictions on Reverting

Die Wiederherstellung wird unter folgenden Bedingungen nicht unterstützt:Reverting is unsupported under the following conditions:

  • Die Quelldatenbank enthält schreibgeschützte oder komprimierte Dateigruppen.The source database contains any read-only or compressed filegroups.
  • Mindestens eine Datei ist offline, die beim Erstellen der Momentaufnahme online war.Any files are offline that were online when the snapshot was created.
  • Derzeit ist mehr als eine Momentaufnahme der Datenbank vorhanden.More than one snapshot of the database currently exists.

Weitere Informationen finden Sie unter Wiederherstellen einer Datenbank zu einer Datenbank-Momentaufnahme.For more information, see Revert a Database to a Database Snapshot.

SecuritySecurity

Bei einem Sicherungsvorgang können optional Kennwörter für einen Mediensatz, einen Sicherungssatz oder für beides angegeben werden.A backup operation may optionally specify passwords for a media set, a backup set, or both. Wurde ein Kennwort für einen Mediensatz oder Sicherungssatz definiert, müssen die richtigen Kennwörter in der RESTORE-Anweisung angegeben werden.When a password has been defined on a media set or backup set, you must specify the correct password or passwords in the RESTORE statement. Über diese Kennwörter werden nicht autorisierte Wiederherstellungsoptionen und unbefugtes Anfügen von Sicherungssätzen an Medien mithilfe der Tools von SQL ServerSQL Server verhindert.These passwords prevent unauthorized restore operations and unauthorized appends of backup sets to media using SQL ServerSQL Server tools. Kennwortgeschützte Medien können nicht mit der Option FORMAT der BACKUP-Anweisung überschrieben werden.However, password-protected media can be overwritten by the BACKUP statement's FORMAT option.

Wichtig

Dieses Kennwort bietet also nur unzureichenden Schutz.The protection provided by this password is weak. Es soll vermeiden, dass autorisierte wie nicht autorisierte Benutzer mithilfe von SQL ServerSQL Server-Tools fehlerhafte Wiederherstellungen durchführen.It is intended to prevent an incorrect restore using SQL ServerSQL Server tools by authorized or unauthorized users. Es verhindert jedoch nicht das Lesen der Sicherungsdaten mit anderen Mitteln oder das Ersetzen des Kennworts.It does not prevent the reading of the backup data by other means or the replacement of the password. Dieses Feature befindet sich im Wartungsmodus und wird möglicherweise in einer künftigen Version von Microsoft SQL Server entfernt.This feature is in maintenance mode and may be removed in a future version of Microsoft SQL Server. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.Eine bewährte Methode für den Schutz von Sicherungen ist das Verwahren von Sicherungsbändern an einem sicheren Ort oder das Sichern in Datenträgerdateien, die durch eine adäquate Zugriffssteuerungsliste (ACL, Access Control List) geschützt sind.The best practice for protecting backups is to store backup tapes in a secure location or back up to disk files that are protected by adequate access control lists (ACLs). Die ACLs sollten für den Verzeichnisstamm eingerichtet werden, unter dem die Sicherungen erstellt werden.The ACLs should be set on the directory root under which backups are created.

Hinweis

Spezifische Informationen zur Sicherung und Wiederherstellung von SQL Server in Microsoft Azure Blob Storage finden Sie unter SQL Server-Sicherung und -Wiederherstellung mit Microsoft Azure Blob Storage Service.For information specific to SQL Server backup and restore with the Microsoft Azure Blob storage, see SQL Server Backup and Restore with Microsoft Azure Blob Storage Service.

BerechtigungenPermissions

Ist die wiederherzustellende Datenbank nicht vorhanden, muss der Benutzer über CREATE DATABASE-Berechtigungen verfügen, um RESTORE ausführen zu können.If the database being restored does not exist, the user must have CREATE DATABASE permissions to be able to execute RESTORE. Ist die Datenbank vorhanden, werden RESTORE-Berechtigungen standardmäßig den Mitgliedern der festen Serverrollen sysadmin und dbcreator sowie dem Besitzer (dbo) der Datenbank erteilt (für die Option FROM DATABASE_SNAPSHOT ist die Datenbank immer vorhanden).If the database exists, RESTORE permissions default to members of the sysadmin and dbcreator fixed server roles and the owner (dbo) of the database (for the FROM DATABASE_SNAPSHOT option, the database always exists).

RESTORE-Berechtigungen werden Rollen erteilt, in denen Mitgliedsinformationen immer für den Server verfügbar sind.RESTORE permissions are given to roles in which membership information is always readily available to the server. Da die Mitgliedschaft in einer festen Datenbankrolle nur bei unbeschädigten und zugänglichen Datenbanken geprüft werden kann (was beim Ausführen von RESTORE nicht immer der Fall ist), verfügen Mitglieder der festen Datenbankrolle db_owner nicht über RESTORE-Berechtigungen.Because fixed database role membership can be checked only when the database is accessible and undamaged, which is not always the case when RESTORE is executed, members of the db_owner fixed database role do not have RESTORE permissions.

BeispieleExamples

Bei allen Beispielen wird davon ausgegangen, dass eine vollständige Datenbanksicherung ausgeführt wurde.All the examples assume that a full database backup has been performed.

Die Beispiele zu RESTORE schließen Folgendes ein:The RESTORE examples include the following:

Hinweis

Weitere Beispiele finden Sie in den Artikeln zur Vorgehensweisen zur Wiederherstellung, die unter Übersicht über Wiederherstellungsvorgänge aufgelistet sind.For additional examples, see the restore how-to topics that are listed in Restore and Recovery Overview.

A.A. Wiederherstellen einer vollständigen DatenbankRestoring a full database

Im folgenden Beispiel wird eine vollständige Datenbanksicherung vom logischen Sicherungsmedium AdventureWorksBackups wiederhergestellt.The following example restores a full database backup from the AdventureWorksBackups logical backup device. Ein Beispiel für das Erstellen dieses Mediums finden Sie unter Sicherungsmedien.For an example of creating this device, see Backup Devices.

RESTORE DATABASE AdventureWorks2012
  FROM AdventureWorks2012Backups;

Hinweis

Bei einer Datenbank, die das Modell der vollen oder massenprotokollierten Wiederherstellung verwendet, erfordert SQL ServerSQL Server in den meisten Fällen die Sicherung des Protokollfragments, bevor die Datenbank wiederhergestellt wird.For a database using the full or bulk-logged recovery model, SQL ServerSQL Server requires in most cases that you back up the tail of the log before restoring the database. Weitere Informationen finden Sie unter Protokollfragmentsicherungen.For more information, see Tail-Log Backups.

[Anfang der Beispiele][Top of examples]

B.B. Wiederherstellung von vollständigen und von differenziellen DatenbanksicherungenRestoring full and differential database backups

Im folgenden Beispiel wird eine vollständige Datenbanksicherung und anschließend eine differenzielle Sicherung vom Z:\SQLServerBackups\AdventureWorks2012.bak-Sicherungsmedium wiederhergestellt, das beide Sicherungen enthält.The following example restores a full database backup followed by a differential backup from the Z:\SQLServerBackups\AdventureWorks2012.bak backup device, which contains both backups. Die vollständige Datenbanksicherung, die wiederhergestellt werden soll, ist der sechste Sicherungssatz auf dem Medium (FILE = 6). Die differenzielle Sicherung ist der neunte Sicherungssatz auf dem Medium (FILE = 9).The full database backup to be restored is the sixth backup set on the device (FILE = 6), and the differential database backup is the ninth backup set on the device (FILE = 9). Sobald die differenzielle Sicherung wiederhergestellt wird, wird die Datenbank wiederhergestellt.As soon as the differential backup is recovered, the database is recovered.

RESTORE DATABASE AdventureWorks2012
    FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'
    WITH FILE = 6
      NORECOVERY;
RESTORE DATABASE AdventureWorks2012
    FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'
    WITH FILE = 9
      RECOVERY;

[Anfang der Beispiele][Top of examples]

C.C. Wiederherstellen einer Datenbank mit der RESTART-SyntaxRestoring a database using RESTART syntax

Im folgenden Beispiel wird die Option RESTART zum Neustart eines RESTORE-Vorgangs verwendet, der durch einen Stromausfall des Servers unterbrochen wurde.The following example uses the RESTART option to restart a RESTORE operation interrupted by a server power failure.

-- This database RESTORE halted prematurely due to power failure.
RESTORE DATABASE AdventureWorks2012
    FROM AdventureWorksBackups;
-- Here is the RESTORE RESTART operation.
RESTORE DATABASE AdventureWorks2012
    FROM AdventureWorksBackups WITH RESTART;

[Anfang der Beispiele][Top of examples]

D.D. Wiederherstellen einer Datenbank und Verschieben von DateienRestoring a database and move files

Im folgenden Beispiel wird eine vollständige Datenbank und ein Transaktionsprotokoll wiederhergestellt. Anschließend wird die wiederhergestellte Datenbank in das Verzeichnis C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data verschoben.The following example restores a full database and transaction log and moves the restored database into the C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data directory.

RESTORE DATABASE AdventureWorks2012
    FROM AdventureWorksBackups
    WITH NORECOVERY,
      MOVE 'AdventureWorks2012_Data' TO
'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\NewAdvWorks.mdf',
      MOVE 'AdventureWorks2012_Log'
TO 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\NewAdvWorks.ldf';
RESTORE LOG AdventureWorks2012
    FROM AdventureWorksBackups
    WITH RECOVERY;

[Anfang der Beispiele][Top of examples]

E.E. Kopieren einer Datenbank mithilfe von BACKUP und RESTORECopying a database using BACKUP and RESTORE

Im folgenden Beispiel werden die Anweisungen BACKUP und RESTORE verwendet, um eine Kopie der AdventureWorks2012AdventureWorks2012-Datenbank zu erstellen.The following example uses both the BACKUP and RESTORE statements to make a copy of the AdventureWorks2012AdventureWorks2012 database. Die MOVE-Anweisung bewirkt, dass die Daten- und die Protokolldatei an den angegebenen Speicherorten wiederhergestellt werden.The MOVE statement causes the data and log file to be restored to the specified locations. Die RESTORE FILELISTONLY-Anweisung wird verwendet, um die Anzahl und die Namen der Dateien der Datenbank zu bestimmen, die wiederhergestellt werden.The RESTORE FILELISTONLY statement is used to determine the number and names of the files in the database being restored. Die neue Kopie der Datenbank erhält den Namen TestDB.The new copy of the database is named TestDB. Weitere Informationen finden Sie unter RESTORE FILELISTONLY.For more information, see RESTORE FILELISTONLY.

BACKUP DATABASE AdventureWorks2012
    TO AdventureWorksBackups ;

RESTORE FILELISTONLY
    FROM AdventureWorksBackups ;

RESTORE DATABASE TestDB
    FROM AdventureWorksBackups
    WITH MOVE 'AdventureWorks2012_Data' TO 'C:\MySQLServer\testdb.mdf',
    MOVE 'AdventureWorks2012_Log' TO 'C:\MySQLServer\testdb.ldf';
GO

[Anfang der Beispiele][Top of examples]

F.F. Wiederherstellen eines bestimmten Zeitpunkts mithilfe von STOPATRestoring to a point-in-time using STOPAT

Im folgenden Beispiel wird eine Datenbank in den am 12:00 AM um April 15, 2020 bestehenden Status wiederhergestellt und ein Wiederherstellungsvorgang gezeigt, der mehrere Protokollsicherungen umfasst.The following example restores a database to its state as of 12:00 AM on April 15, 2020 and shows a restore operation that involves multiple log backups. Auf dem Sicherungsmedium ( AdventureWorksBackups) ist die wiederherzustellende vollständige Datenbanksicherung der dritte Sicherungssatz (FILE = 3), die erste Protokollsicherung ist der vierte Sicherungssatz (FILE = 4), und die zweite Protokollsicherung ist der fünfte Sicherungssatz (FILE = 5).On the backup device, AdventureWorksBackups, the full database backup to be restored is the third backup set on the device (FILE = 3), the first log backup is the fourth backup set (FILE = 4), and the second log backup is the fifth backup set (FILE = 5).

RESTORE DATABASE AdventureWorks2012
    FROM AdventureWorksBackups
    WITH FILE=3, NORECOVERY;

RESTORE LOG AdventureWorks2012
    FROM AdventureWorksBackups
    WITH FILE=4, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM';

RESTORE LOG AdventureWorks2012
    FROM AdventureWorksBackups
    WITH FILE=5, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM';
RESTORE DATABASE AdventureWorks2012 WITH RECOVERY;

[Anfang der Beispiele][Top of examples]

G.G. Wiederherstellen eines Transaktionsprotokolls bis zu einer MarkierungRestoring the transaction log to a mark

Im folgenden Beispiel wird das Transaktionsprotokoll bis zur Markierung in der markierten Transaktion mit dem Namen ListPriceUpdatewiederhergestellt.The following example restores the transaction log to the mark in the marked transaction named ListPriceUpdate.

USE AdventureWorks2012
GO
BEGIN TRANSACTION ListPriceUpdate
    WITH MARK 'UPDATE Product list prices';
GO

UPDATE Production.Product
    SET ListPrice = ListPrice * 1.10
    WHERE ProductNumber LIKE 'BK-%';
GO

COMMIT TRANSACTION ListPriceUpdate;
GO

-- Time passes. Regular database
-- and log backups are taken.
-- An error occurs in the database.
USE master;
GO

RESTORE DATABASE AdventureWorks2012
FROM AdventureWorksBackups
WITH FILE = 3, NORECOVERY;
GO

RESTORE LOG AdventureWorks2012
  FROM AdventureWorksBackups
    WITH FILE = 4,
    RECOVERY,
    STOPATMARK = 'UPDATE Product list prices';

[Anfang der Beispiele][Top of examples]

H.H. Wiederherstellen mit der TAPE-SyntaxRestoring using TAPE syntax

Im folgenden Beispiel wird eine vollständige Datenbanksicherung von einem TAPE-Sicherungsmedium wiederhergestellt.The following example restores a full database backup from a TAPE backup device.

RESTORE DATABASE AdventureWorks2012
    FROM TAPE = '\\.\tape0';

[Anfang der Beispiele][Top of examples]

I.I. Wiederherstellen mithilfe der FILE- und FILEGROUP-SyntaxRestoring using FILE and FILEGROUP syntax

Im folgenden Beispiel wird eine Datenbank mit dem Namen MyDatabase wiederhergestellt, die über zwei Dateien, eine sekundäre Dateigruppe und ein Transaktionsprotokoll verfügt.The following example restores a database named MyDatabase that has two files, one secondary filegroup, and one transaction log. Für die Datenbank wird das vollständige Wiederherstellungsmodell verwendet.The database uses the full recovery model.

Die Datenbanksicherung ist der neunte Sicherungssatz im Mediensatz auf einem logischen Sicherungsmedium mit dem Namen MyDatabaseBackups.The database backup is the ninth backup set in the media set on a logical backup device named MyDatabaseBackups. Anschließend werden drei Protokollsicherungen, die sich in den nächsten drei Sicherungssätzen (10, 11 und 12) im Medium MyDatabaseBackups befinden, mit WITH NORECOVERY wiederhergestellt.Next, three log backups, which are in the next three backup sets (10, 11, and 12) on the MyDatabaseBackups device, are restored by using WITH NORECOVERY. Nach dem Wiederherstellen der letzten Protokollsicherung wird die Datenbank wiederhergestellt.After restoring the last log backup, the database is recovered.

Hinweis

Die Wiederherstellung wird in einem separaten Schritt ausgeführt, um zu vermeiden, dass sie zu früh ausgeführt wird, d. h., bevor alle Protokollsicherungen wiederhergestellt wurden.Recovery is performed as a separate step to reduce the possibility of you recovering too early, before all of the log backups have been restored. Informationen zum Wiederherstellungsprozess finden Sie unter (SQL Server).For more information about the recovery process, see Restore and Recovery Overview (SQL Server).

Beachten Sie, dass in der RESTORE DATABASE-Anweisung zwei Typen von FILE-Optionen vorhanden sind.In the RESTORE DATABASE, notice that there are two types of FILE options. Mit den FILE-Optionen vor dem Namen des Sicherungsmediums werden die logischen Dateinamen der Datenbankdateien angegeben, die aus dem Sicherungssatz wiederhergestellt werden sollen, beispielsweise FILE = 'MyDatabase_data_1'.The FILE options preceding the backup device name specify the logical file names of the database files that are to be restored from the backup set; for example, FILE = 'MyDatabase_data_1'. Dieser Sicherungssatz ist nicht die erste Datenbanksicherung im Mediensatz. Daher wird seine Position im Mediensatz mit der Option FILE in der WITH-Klausel angegeben: FILE=9.This backup set is not the first database backup in the media set; therefore, its position in the media set is indicated by using the FILE option in the WITH clause, FILE=9.

RESTORE DATABASE MyDatabase
    FILE = 'MyDatabase_data_1',
    FILE = 'MyDatabase_data_2',
    FILEGROUP = 'new_customers'
    FROM MyDatabaseBackups
    WITH
      FILE = 9,
      NORECOVERY;
GO  
-- Restore the log backups
RESTORE LOG MyDatabase
    FROM MyDatabaseBackups
    WITH FILE = 10,
      NORECOVERY;
GO
RESTORE LOG MyDatabase
    FROM MyDatabaseBackups
    WITH FILE = 11,
      NORECOVERY;
GO
RESTORE LOG MyDatabase
    FROM MyDatabaseBackups
    WITH FILE = 12,
      NORECOVERY;
GO
--Recover the database
RESTORE DATABASE MyDatabase WITH RECOVERY;
GO

[Anfang der Beispiele][Top of examples]

J.J. Wiederherstellen aus einer Datenbank-MomentaufnahmeReverting from a database snapshot

Im folgenden Beispiel wird eine Datenbank aus einer Datenbank-Momentaufnahme wiederhergestellt.The following example reverts a database to a database snapshot. In diesem Beispiel wird davon ausgegangen, dass derzeit in der Datenbank nur eine Momentaufnahme vorhanden ist.The example assumes that only one snapshot currently exists on the database. Ein Beispiel zum Erstellen dieser Datenbankmomentaufnahme finden Sie unter Erstellen einer Datenbankmomentaufnahme.For an example of how to create this database snapshot, see Create a Database Snapshot.

Hinweis

Durch das Wiederherstellen einer Momentaufnahme werden alle Volltextkataloge gelöscht.Reverting to a snapshot drops all the full-text catalogs.

USE master;
RESTORE DATABASE AdventureWorks2012 FROM DATABASE_SNAPSHOT = 'AdventureWorks_dbss1800';
GO

Weitere Informationen finden Sie unter Wiederherstellen einer Datenbank zu einer Datenbank-Momentaufnahme.For more information, see Revert a Database to a Database Snapshot.

[Anfang der Beispiele][Top of examples]

K.K. Wiederherstellen aus dem Microsoft Azure BLOB-SpeicherdienstRestoring from the Microsoft Azure Blob storage service

Die drei folgenden Beispiele umfassen die Verwendung des Microsoft Azure-Speicherdiensts.The three examples below involve the use of the Microsoft Azure storage service. Der Speicherkontoname lautet mystorageaccount.The storage Account name is mystorageaccount. Der Container für Datendateien heißt myfirstcontainer.The container for data files is called myfirstcontainer. Der Container für Sicherungsdateien heißt mysecondcontainer.The container for backup files is called mysecondcontainer. Eine gespeicherte Zugriffsrichtlinie wurde mit Lese-, Schreib-, Lösch- und Auflistungsrechten für jeden Container erstellt.A stored access policy has been created with read, write, delete, and list, rights for each container. Die SQL Server Anmeldeinformationen wurden mit einer gespeicherten Zugriffssignatur erstellt, die der gespeicherten Zugriffsrichtlinie zugeordnet ist.SQL Server credentials were created using Shared Access Signatures that are associated with the Stored Access Policies. Spezifische Informationen zur Sicherung und Wiederherstellung von SQL Server in Microsoft Azure Blob Storage finden Sie unter SQL Server-Sicherung und -Wiederherstellung mit Microsoft Azure Blob Storage Service.For information specific to SQL Server backup and restore with the Microsoft Azure Blob storage, see SQL Server Backup and Restore with Microsoft Azure Blob Storage Service.

K1. Wiederherstellen einer vollständigen Datenbanksicherung aus dem Microsoft Azure-Speicherdienst K1. Restore a full database backup from the Microsoft Azure storage service
Eine vollständige Datenbanksicherung in mysecondcontainer von Sales wird in myfirstcontainer wiederhergestellt.A full database backup, located at mysecondcontainer, of Sales will be restored to myfirstcontainer. Sales ist auf dem Server derzeit nicht vorhanden.Sales does not currently exist on the server.

RESTORE DATABASE Sales
  FROM URL = 'https://mystorageaccount.blob.core.windows.net/mysecondcontainer/Sales.bak'
  WITH MOVE 'Sales_Data1' to 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_Data1.mdf',
  MOVE 'Sales_log' to 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_log.ldf',
  STATS = 10;

K2. Wiederherstellen einer vollständigen Datenbanksicherung aus dem Microsoft Azure-Speicherdienst in den lokalen Speicher Eine vollständige Datenbanksicherung in mysecondcontainer von Sales wird im lokalen Speicher wiederhergestellt.K2. Restore a full database backup from the Microsoft Azure storage service to local storage A full database backup, located at mysecondcontainer, of Sales will be restored to local storage. Sales ist auf dem Server derzeit nicht vorhanden.Sales does not currently exist on the server.

RESTORE DATABASE Sales
  FROM URL = 'https://mystorageaccount.blob.core.windows.net/mysecondcontainer/Sales.bak'
  WITH MOVE 'Sales_Data1' to 'H:\DATA\Sales_Data1.mdf',
  MOVE 'Sales_log' to 'O:\LOG\Sales_log.ldf',
  STATS = 10;

K3. Wiederherstellen einer vollständigen Datenbanksicherung aus dem lokalen Speicher in den Microsoft Azure-SpeicherdienstK3. Restore a full database backup from local storage to the Microsoft Azure storage service

RESTORE DATABASE Sales
  FROM DISK = 'E:\BAK\Sales.bak'
  WITH MOVE 'Sales_Data1' to 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_Data1.mdf',
  MOVE 'Sales_log' to 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_log.ldf',
  STATS = 10;

[Anfang der Beispiele][Top of examples]

Weitere InformationenMore information

Übersicht über Wiederherstellungsvorgänge (SQL Server) Restore and Recovery Overview (SQL Server)
Sichern und Wiederherstellen von SQL Server-Datenbanken Back Up and Restore of SQL Server Databases
Sichern und Wiederherstellen von Systemdatenbanken (SQL Server) Back Up and Restore of System Databases (SQL Server)
Restore a Database Backup Using SSMS Restore a Database Backup Using SSMS
Sichern und Wiederherstellen von Volltextkatalogen und Indizes Back Up and Restore Full-Text Catalogs and Indexes
Sichern und Wiederherstellen von replizierten Datenbanken Back Up and Restore Replicated Databases
BACKUP BACKUP
Mediensätze, Medienfamilien und Sicherungssätze Media Sets, Media Families, and Backup Sets
RESTORE REWINDONLY RESTORE REWINDONLY
RESTORE VERIFYONLY RESTORE VERIFYONLY
RESTORE FILELISTONLY (Transact-SQL) RESTORE FILELISTONLY (Transact-SQL)
RESTORE HEADERONLY (Transact-SQL) RESTORE HEADERONLY (Transact-SQL)
Sicherungsverlauf und HeaderinformationenBackup History and Header Information

SQL ServerSQL Server * SQL-Datenbank
verwaltete Instanz *
* SQL Database
managed instance *
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

Verwaltete Azure SQL-Datenbank-InstanzAzure SQL Database managed instance

Über diesen Befehl können Sie eine komplette Datenbank aus einer vollständigen Datenbanksicherung in einem Azure Blob Storage-Konto wiederherstellen (vollständige Wiederherstellung).This command enables you to restore an entire database from a full database backup (a complete restore) from Azure Blob Storage account.

Andere unterstützte RESTORE-Befehle finden Sie hier:For other supported RESTORE commands, see:

Wichtig

Informationen zur Wiederherstellung automatischer Sicherungen der verwalteten Azure SQL-Datenbank-Instanz finden Sie unter SQL Database Restore (SQL-Datenbank-Wiederherstellung).To restore from Azure SQL Database managed instance automatic backups, see SQL Database Restore.

SyntaxSyntax

--To Restore an Entire Database from a Full database backup (a Complete Restore):
RESTORE DATABASE { database_name | @database_name_var }
 FROM URL = { 'physical_device_name' | @physical_device_name_var } [ ,...n ]
[;]

ArgumenteArguments

DATABASEDATABASE

Gibt die Zieldatenbank an.Specifies the target database.

FROM URLFROM URL

Gibt ein oder mehrere Sicherungsmedien an, die mit URLs angegeben sind, die für die Wiederherstellung verwendet werden.Specifies one or more backup devices placed on URLs that will be used for the restore operation. Das URL-Format wird zur Wiederherstellung von Sicherungen aus dem Microsoft Azure-Speicherdienst verwendet.The URL format is used for restoring backups from the Microsoft Azure storage service.

Wichtig

Wenn Sie eine Wiederherstellung von mehreren Geräten durchführen möchten, müssen Sie Shared Access Signature-Token (SAS) verwenden, wenn Sie die Wiederherstellung über eine URL durchführen.In order to restore from multiple devices when restoring from URL, you must use Shared Access Signature (SAS) tokens. Beispiele für die Erstellung einer Shared Access Signature finden Sie unter SQL Server-Sicherung über URLs und 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).For examples creating a Shared Access Signature, see SQL Server Backup to URL and Simplifying creation of SQL Credentials with Shared Access Signature (SAS) tokens on Azure Storage with Powershell.

n Ein Platzhalter, der anzeigt, dass in einer durch Trennzeichen getrennten Liste möglicherweise bis zu 64 Sicherungsmedien angegeben werden.n Is a placeholder that indicates that up to 64 backup devices may be specified in a comma-separated list.

Allgemeine HinweiseGeneral Remarks

Als Voraussetzung müssen Sie Anmeldeinformationen mit dem Namen erstellen, der mit der URL des Blob Storage-Kontos übereinstimmt, und eine Shared Access Signature als Geheimnis verwenden.As a prerequisite, you need to create a credential with the name that matches the blob storage account url, and Shared Access Signature placed as secret. Der RESTORE-Befehl sucht anhand der Blob Storage-URL nach Anmeldeinformationen, die erforderlich sind, um das Sicherungsmedium auszulesen.RESTORE command will look up credentials using the blob storage url to find the information required to read the backup device.

Der Wiederherstellungsvorgang erfolgt asynchron. Die Wiederherstellung wird fortgesetzt, selbst wenn die Verbindung mit dem Client unterbrochen wird.RESTORE operation is asynchronous - the restore continues even if client connection breaks. Wenn Ihre Verbindung getrennt wird, können Sie die Ansicht sys.dm_operation_status auf den Status eines Wiederherstellungsvorgangs überprüfen (sowie für CREATE- und DROP-Datenbanken).If your connection is dropped, you can check sys.dm_operation_status view for the status of a restore operation (as well as for CREATE and DROP database).

Die folgenden Datenbankoptionen werden festgelegt oder überschrieben und können später nicht geändert werden:The following database options are set/overridden and cannot be changed later:

  • NEW_BROKER (wenn der Broker nicht in der BAK-Datei aktiviert ist)NEW_BROKER (if broker is not enabled in .bak file)
  • ENABLE_BROKER (wenn der Broker nicht in der BAK-Datei aktiviert ist)ENABLE_BROKER (if broker is not enabled in .bak file)
  • AUTO_CLOSE=OFF (wenn für eine Datenbank in der BAK-Datei AUTO_CLOSE=ON festgelegt ist)AUTO_CLOSE=OFF (if a database in .bak file has AUTO_CLOSE=ON)
  • RECOVERY FULL (wenn eine Datenbank in der BAK-Datei über den Wiederherstellungsmodus SIMPLE oder BULK_LOGGED verfügt)RECOVERY FULL (if a database in .bak file has SIMPLE or BULK_LOGGED recovery mode)
  • Eine arbeitsspeicheroptimierte Dateigruppe wird hinzugefügt und hat XTP aufgerufen, wenn sie nicht in der BAK-Quelldatei war.Memory optimized filegroup is added and called XTP if it was not in the source .bak file. Alle vorhandenen arbeitsspeicheroptimierten Dateigruppen werden in XTP umbenannt.Any existing memory optimized filegroup is renamed to XTP
  • Die Optionen SINGLE_USER und RESTRICTED_USER werden in MULTI_USER konvertiert.SINGLE_USER and RESTRICTED_USER options are converted to MULTI_USER

Einschränkungen bei verwalteten SQL-DatenbankinstanzenLimitations - SQL Database managed instance

Diese Einschränkungen gelten:These limitations apply:

  • BAK-Dateien, die mehrere Sicherungssätze enthalten, können nicht wiederhergestellt werden..BAK files containing multiple backup sets cannot be restored.
  • BAK-Dateien, die mehrere Protokolldateien enthalten, können nicht wiederhergestellt werden..BAK files containing multiple log files cannot be restored.
  • Die Wiederherstellung schlägt fehl, wenn die BAK-Datei FILESTREAM-Daten enthält.Restore will fail if .bak contains FILESTREAM data.
  • Sicherungen, die Datenbanken enthalten, die über aktive In-Memory-Objekte verfügen, können nicht für eine universelle verwaltete Instanz wiederhergestellt werden.Backups containing databases that have active In-memory objects cannot be restored to a General Purpose managed instance.
  • Sicherungen, die Datenbanken im schreibgeschützten Modus enthalten, können derzeit nicht wiederhergestellt werden.Backups containing databases in read-only mode cannot currently be restored. Diese Einschränkung wird bald entfernt.This limitation will be removed soon.

Weitere Informationen finden Sie unter verwaltete Instanz.For more information, see managed instance

Wiederherstellen einer verschlüsselten DatenbankRestoring an Encrypted Database

Um eine verschlüsselte Datenbank wiederherstellen zu können, muss das Zertifikat oder der asymmetrische Schlüssel verfügbar sein, das oder der zum Verschlüsseln der Datenbank verwendet wurde.To restore a database that is encrypted, you must have access to the certificate or asymmetric key that was used to encrypt the database. Ohne das Zertifikat oder den asymmetrischen Schlüssel kann die Datenbank nicht wiederhergestellt werden.Without the certificate or asymmetric key, the database cannot be restored. Darum muss das Zertifikat, das zur Verschlüsselung des Verschlüsselungsschlüssels für die Datenbank verwendet wurde, so lange beibehalten werden, wie die Sicherung benötigt wird.As a result, the certificate that is used to encrypt the database encryption key must be retained as long as the backup is needed. Weitere Informationen finden Sie unter SQL Server Certificates and Asymmetric Keys.For more information, see SQL Server Certificates and Asymmetric Keys.

BerechtigungenPermissions

Der Benutzer muss über CREATE DATABASE-Berechtigungen verfügen, um RESTORE ausführen zu können.The user must have CREATE DATABASE permissions to be able to execute RESTORE.

CREATE LOGIN mylogin WITH PASSWORD = 'Very Strong Pwd123!';
GRANT CREATE ANY DATABASE TO [mylogin];

RESTORE-Berechtigungen werden Rollen erteilt, in denen Mitgliedsinformationen immer für den Server verfügbar sind.RESTORE permissions are given to roles in which membership information is always readily available to the server. Da die Mitgliedschaft in einer festen Datenbankrolle nur bei unbeschädigten und zugänglichen Datenbanken geprüft werden kann (was beim Ausführen von RESTORE nicht immer der Fall ist), verfügen Mitglieder der festen Datenbankrolle db_owner nicht über RESTORE-Berechtigungen.Because fixed database role membership can be checked only when the database is accessible and undamaged, which is not always the case when RESTORE is executed, members of the db_owner fixed database role do not have RESTORE permissions.

BeispieleExamples

In den folgenden Beispiele wird eine Kopiesicherung der Datenbank aus einer URL wiederhergestellt, und es werden Anmeldeinformationen erstellt.The following examples restore a copy only database backup from URL, including the creation of a credential.

A.A. Wiederherstellen einer Datenbank aus vier SicherungsmedienRestore database from four backup devices


-- Create credential
CREATE CREDENTIAL [https://mybackups.blob.core.windows.net/wide-world-importers]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
      SECRET = 'sv=2017-11-09&ss=bq&srt=sco&sp=rl&se=2022-06-19T22:41:07Z&st=2018-06-01T14:41:07Z&spr=https&sig=s7wddcf0w%3D';
GO
-- Restore database
RESTORE DATABASE WideWorldImportersStandard
FROM URL = N'https://mybackups.blob.core.windows.net/wide-world-importers/00-WideWorldImporters-Standard.bak',
URL = N'https://mybackups.blob.core.windows.net/wide-world-importers/01-WideWorldImporters-Standard.bak',
URL = N'https://mybackups.blob.core.windows.net/wide-world-importers/02-WideWorldImporters-Standard.bak',
URL = N'https://mybackups.blob.core.windows.net/wide-world-importers/03-WideWorldImporters-Standard.bak'

Der folgende Fehler wird angezeigt, wenn die Datenbank bereits vorhanden ist:The following error is shown if the database already exists:

Msg 1801, Level 16, State 1, Line 9
Database 'WideWorldImportersStandard' already exists. Choose a different database name.

B.B. Wiederherstellen einer per Variable angegebenen DatenbankRestore database specified via variable

DECLARE @db_name sysname = 'WideWorldImportersStandard';
DECLARE @url nvarchar(400) = N'https://mybackups.blob.core.windows.net/wide-world-importers/WideWorldImporters-Standard.bak';

RESTORE DATABASE @db_name
FROM URL = @url

C.C. Nachverfolgen des Fortschritts einer RESTORE-AnweisungTrack progress of restore statement

SELECT query = a.text, start_time, percent_complete,
    eta = dateadd(second,estimated_completion_time/1000, getdate())
FROM sys.dm_exec_requests r
    CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) a
WHERE r.command = 'RESTORE DATABASE'

Hinweis

Diese Ansicht zeigt wahrscheinlich zwei Wiederherstellungsanforderungen an.This view will probably show two restore requests. Die eine ist die ursprüngliche, vom Client gesendete RESTORE-Anweisung, die andere ist eine RESTORE-Hintergrundanweisung, die auch dann ausgeführt wird, wenn keine Verbindung mit dem Client hergestellt werden kann.One is original RESTORE statement sent by the client, and the another one is background RESTORE statement that is executing even if the client connection fails.

SQL ServerSQL Server SQL-Datenbank
verwaltete Instanz
SQL Database
managed instance
* Analytics
Platform System (PDW) *
* Analytics
Platform System (PDW) *

 

AnalyseplattformsystemAnalytics Platform System

Wiederherstellen einer Parallel Data WarehouseParallel Data Warehouse-Benutzerdatenbank von einer Datenbanksicherung auf einer Parallel Data WarehouseParallel Data Warehouse-Appliance.Restores a Parallel Data WarehouseParallel Data Warehouse user database from a database backup to a Parallel Data WarehouseParallel Data Warehouse appliance. Die Datenbank wird von einer Sicherung wiederhergestellt, die zuvor mithilfe des Parallel Data WarehouseParallel Data Warehouse-Befehls BACKUP DATABASE – Analytics Platform System erstellt wurde.The database is restored from a backup that was previously created by the Parallel Data WarehouseParallel Data Warehouse BACKUP DATABASE - Analytics Platform System command. Mit BACKUP- und RESTORE-Vorgängen können Sie einen Notfallwiederherstellungsplan erstellen oder Datenbanken von einer Appliance zur anderen verschieben.Use the backup and restore operations to build a disaster recovery plan, or to move databases from one appliance to another.

Hinweis

Zum Wiederherstellen der Masterdatenbank müssen die Anmeldeinformationen der Appliance wiederhergestellt werden.Restoring master includes restoring appliance login information. Verwenden Sie zum Wiederherstellen der Masterdatenbank im Tool Configuration Manager die Seite Wiederherstellen der Masterdatenbank.To restore master, use the Restore the master Database page in the Configuration Manager tool. Dieser Vorgang kann von einem Administrator mit Zugriff auf den Steuerknoten ausgeführt werden.An administrator with access to the Control node can perform this operation. Weitere Informationen zu Parallel Data WarehouseParallel Data Warehouse-Datenbanksicherungen finden Sie unter „Sichern und Wiederherstellen“ in der Parallel Data Warehouse product documentation (Parallel Data Warehouse-Produktdokumentation) Parallel Data Warehouse product documentation.For more information about Parallel Data WarehouseParallel Data Warehouse database backups, see "Backup and Restore" in the Parallel Data Warehouse product documentation (Parallel Data Warehouse-Produktdokumentation) Parallel Data Warehouse product documentation.

SyntaxSyntax


-- Restore the master database
-- Use the Configuration Manager tool.

Restore a full user database backup.
RESTORE DATABASE database_name
    FROM DISK = '\\UNC_path\full_backup_directory'
[;]

--Restore a full user database backup and then a differential backup.
RESTORE DATABASE database_name
    FROM DISK = '\\UNC_path\differential_backup_directory'
    WITH [ ( ] BASE = '\\UNC_path\full_backup_directory' [ ) ]
[;]

--Restore header information for a full or differential user database backup.
RESTORE HEADERONLY
    FROM DISK = '\\UNC_path\backup_directory'
[;]

ArgumenteArguments

RESTORE DATABASE database_name Gibt an, dass eine Benutzerdatenbank in einer Datenbank mit dem Namen database_name wiederhergestellt wird.RESTORE DATABASE database_name Specifies to restore a user database to a database called database_name. Die wiederhergestellte Datenbank kann anders benannt werden als die Quelldatenbank, die gesichert wurde.The restored database can have a different name than the source database that was backed up. database_name darf nicht bereits als Datenbank auf der Zielappliance vorhanden sein.database_name cannot already exist as a database on the destination appliance. Weitere Informationen zu zulässigen Datenbanknamen finden Sie in der Parallel Data Warehouse product documentation (Parallel Data Warehouse-Produktdokumentation) Parallel Data Warehouse product documentation unter „Objektbenennungsregeln“.For more details on permitted database names, see "Object Naming Rules" in the Parallel Data Warehouse product documentation (Parallel Data Warehouse-Produktdokumentation) Parallel Data Warehouse product documentation.

Beim Wiederherstellen einer Benutzerdatenbank wird eine vollständige Datenbanksicherung wiederhergestellt. Anschließend kann optional eine differenzielle Sicherung auf der Appliance wiederhergestellt werden.Restoring a user database restores a full database backup and then optionally restores a differential backup to the appliance. Das Wiederherstellen einer Benutzerdatenbank beinhaltet das Wiederherstellen von Datenbankbenutzern und Datenbankrollen.A restore of a user database includes restoring database users, and database roles.

FROM DISK = '\\UNC_path\backup_directory' Netzwerkpfad und Verzeichnis, aus denen Parallel Data WarehouseParallel Data Warehouse die Sicherungsdateien wiederherstellt.FROM DISK = '\\UNC_path\backup_directory' The network path and directory from which Parallel Data WarehouseParallel Data Warehouse will restore the backup files. Ein Beispiel: FROM DISK = '\\xxx.xxx.xxx.xxx\backups\2012\Monthly\08.2012.Mybackup‘.For example, FROM DISK = '\\xxx.xxx.xxx.xxx\backups\2012\Monthly\08.2012.Mybackup'.

backup_directory Gibt den Namen eines Verzeichnisses an, das die vollständige oder differenzielle Sicherung enthält.backup_directory Specifies the name of a directory that contains the full or differential backup. Beispielsweise kann für eine vollständige oder differenzielle Sicherung ein RESTORE HEADERONLY-Vorgang ausgeführt werden.For example, you can perform a RESTORE HEADERONLY operation on a full or differential backup.

full_backup_directory Gibt den Namen eines Verzeichnisses an, das die vollständige Sicherung enthält.full_backup_directory Specifies the name of a directory that contains the full backup.

differential_backup_directory Gibt den Namen eines Verzeichnisses an, das die differenzielle Sicherung enthält.differential_backup_directory Specifies the name of the directory that contains the differential backup.

  • Pfad und Sicherungsverzeichnis müssen bereits vorhanden sein und als vollqualifizierter UNC-Pfad (Universal Naming Convention) angegeben werden.The path and backup directory must already exist and must be specified as a fully qualified universal naming convention (UNC) path.
  • Beim Pfad zum Sicherungsverzeichnis darf es sich nicht um einen lokalen Pfad handeln, und der Speicherort darf sich nicht auf einem Parallel Data WarehouseParallel Data Warehouse-Applianceknoten befinden.The path to the backup directory cannot be a local path and it cannot be a location on any of the Parallel Data WarehouseParallel Data Warehouse appliance nodes.
  • Die maximale Länge des UNC-Pfads und des Sicherungsverzeichnisnamens beträgt 200 Zeichen.The maximum length of the UNC path and backup directory name is 200 characters.
  • Der Server oder Host muss als IP-Adresse angegeben werden.The server or host must be specified as an IP address.

RESTORE HEADERONLY Gibt an, dass nur die Headerinformationen für die Sicherung einer Benutzerdatenbank zurückgegeben werden sollen.RESTORE HEADERONLY Specifies to return only the header information for one user database backup. Der Header enthält u.a. die Textbeschreibung für die Sicherung und den Sicherungsnamen.Among other fields, the header includes the text description of the backup, and the backup name. Der Sicherungsname und der Name des Verzeichnisses, in dem die Sicherungsdateien gespeichert werden, müssen nicht identisch sein.The backup name does not need to be the same as the name of the directory that stores the backup files.

Die RESTORE HEADERONLY-Ergebnisse entsprechen dem Muster der SQL ServerSQL Server-RESTORE HEADERONLY-Ergebnisse.RESTORE HEADERONLY results are patterned after the SQL ServerSQL Server RESTORE HEADERONLY results. Das Ergebnis enthält mehr als 50 Spalten, die nicht alle von Parallel Data WarehouseParallel Data Warehouse verwendet werden.The result has over 50 columns, which are not all used by Parallel Data WarehouseParallel Data Warehouse. Eine Beschreibung der Spalten der SQL ServerSQL Server-RESTORE HEADERONLY-Ergebnisse finden Sie unter RESTORE HEADERONLY.For a description of the columns in the SQL ServerSQL Server RESTORE HEADERONLY results, see RESTORE HEADERONLY.

BerechtigungenPermissions

Erfordert die CREATE ANY DATABASE-Berechtigung.Requires the CREATE ANY DATABASE permission.

Es ist ein Windows-Konto mit der Berechtigung erforderlich, auf das Sicherungsverzeichnis zuzugreifen und es zu lesen.Requires a Windows account that has permission to access and read from the backup directory. Sie müssen außerdem den Windows-Kontonamen und das Kennwort in Parallel Data WarehouseParallel Data Warehouse speichern.You must also store the Windows account name and password in Parallel Data WarehouseParallel Data Warehouse.

FehlerbehandlungError Handling

Der RESTORE DATABASE-Befehl führt unter den folgenden Bedingungen zu einem Fehler:The RESTORE DATABASE command results in errors under the following conditions:

  • Der Name der Datenbank, die wiederhergestellt werden soll, ist auf der Zielappliance bereits vorhanden.The name of the database to restore already exists on the target appliance. Wählen Sie daher einen eindeutigen Datenbanknamen, oder löschen Sie die vorhandene Datenbank, bevor Sie die Wiederherstellung ausführen.To avoid this, choose a unique database name, or drop the existing database before running the restore.
  • Im Sicherungsverzeichnis befinden sich mehrere ungültige Sicherungsdateien.There is an invalid set of backup files in the backup directory.
  • Die Anmeldeberechtigungen reichen zum Wiederherstellen einer Datenbank nicht aus.The login permissions are not sufficient to restore a database.
  • Parallel Data WarehouseParallel Data Warehouse verfügt nicht über die erforderlichen Berechtigungen für den Netzwerkspeicherort, an dem die Sicherungsdateien gespeichert sind.does not have the correct permissions to the network location where the backup files are located.
  • Der Netzwerkspeicherort für das Sicherungsverzeichnis ist nicht vorhanden oder nicht verfügbar.The network location for the backup directory does not exist, or is not available.
  • Es ist nicht genügend Speicherplatz auf den Computeknoten oder auf dem Steuerknoten vorhanden.There is insufficient disk space on the Compute nodes or Control node. Parallel Data WarehouseParallel Data Warehouse bestätigt nicht, dass auf der Appliance genügend Speicherplatz vorhanden ist, bevor das Wiederherstellen gestartet wird.does not confirm that sufficient disk space exists on the appliance before initiating the restore. Daher kann beim Ausführen der RESTORE DATABASE-Anweisung ein Fehler wegen unzureichendem Speicherplatz generiert werden.Therefore, it is possible to generate an out-of-disk-space error while running the RESTORE DATABASE statement. Wenn nicht genügend Speicherplatz vorhanden ist, führt Parallel Data WarehouseParallel Data Warehouse ein Rollback für die Wiederherstellung aus.When insufficient disk space occurs, Parallel Data WarehouseParallel Data Warehouse rolls back the restore.
  • Die Zielappliance, auf der die Datenbank wiederhergestellt wird, verfügt über weniger Computeknoten als die Quellappliance, von der die Datenbank gesichert wurde.The target appliance to which the database is being restored has fewer Compute nodes than the source appliance from which the database was backed up.
  • Die Wiederherstellung der Datenbank wird aus einer Transaktion heraus ausgeführt.The database restore is attempted from within a transaction.

Allgemeine HinweiseGeneral Remarks

Parallel Data WarehouseParallel Data Warehouse verfolgt, ob die Wiederherstellung der Datenbank erfolgreich ist.tracks the success of database restores. Vor dem Wiederherstellen einer differenziellen Datenbanksicherung wird durch Parallel Data WarehouseParallel Data Warehouse überprüft, ob die vollständige Datenbankwiederherstellung erfolgreich abgeschlossen wurde.Before restoring a differential database backup, Parallel Data WarehouseParallel Data Warehouse verifies the full database restore finished successfully.

Nach der Wiederherstellung verfügt die Benutzerdatenbank über einen Datenbank-Kompatibilitätsgrad von 120.After a restore, the user database will have database compatibility level 120. Dies gilt für alle Datenbanken, unabhängig vom ursprünglichen Kompatibilitätsgrad.This is true for all databases regardless of their original compatibility level.

Wiederherstellen auf einer Appliance mit einer größeren Anzahl von ComputeknotenRestoring to an appliance with a larger number of compute nodes

Führen Sie nach dem Wiederherstellen einer Datenbank von einer kleineren auf eine größere Appliance DBCC SHRINKLOG (Azure SQL Data Warehouse) aus, da das Transaktionsprotokoll durch die Umverteilung vergrößert wird.Run DBCC SHRINKLOG (Azure SQL Data Warehouse) after restoring a database from a smaller to larger appliance since redistribution will increase transaction log.

Beim Wiederherstellen einer Sicherung auf einer Appliance mit einer größeren Anzahl von Computeknoten wächst die Größe der zugeordneten Datenbank entsprechend der Anzahl der Computeknoten.Restoring a backup to an appliance with a larger number of Compute nodes grows the allocated database size in proportion to the number of Compute nodes.

Beispiel: Wenn Sie eine 60-GB-Datenbank von einer 2-Knoten-Appliance (30 GB pro Knoten) auf einer 6-Knoten-Appliance wiederherstellen, erstellt Parallel Data WarehouseParallel Data Warehouse auf der 6-Knoten-Appliance eine 180-GB-Datenbank (6 Knoten à 30 GB).For example, when restoring a 60 GB database from a 2-node appliance (30 GB per node) to a 6-node appliance, Parallel Data WarehouseParallel Data Warehouse creates a 180 GB database (6 nodes with 30 GB per node) on the 6-node appliance. Zunächst stellt Parallel Data WarehouseParallel Data Warehouse die Datenbank entsprechend der Quellkonfiguration auf 2 Knoten wieder her und verteilt sie anschließend auf alle 6 Knoten.Parallel Data WarehouseParallel Data Warehouse initially restores the database to 2 nodes to match the source configuration, and then redistributes the data to all 6 nodes.

Nach der Umverteilung enthält jeder Computeknoten weniger tatsächliche Daten und mehr freien Speicherplatz als die einzelnen Computeknoten auf der kleineren Quellappliance.After the redistribution each Compute node will contain less actual data and more free space than each Compute node on the smaller source appliance. Dank des zusätzlichen Speicherplatzes können Sie der Datenbank weitere Daten hinzufügen.Use the additional space to add more data to the database. Ist die wiederhergestellte Datenbank größer als erforderlich, können Sie mit sp_pdw_remove_network_credentials – SQL Data Warehouse die Größe der Datenbank verringern.If the restored database size is larger than you need, you can use ALTER DATABASE - PDW to shrink the database file sizes.

EinschränkungenLimitations and restrictions

Für diese Einschränkungen gilt: Die Quellappliance ist die Appliance, von der aus die Sicherung der Datenbank erstellt wurde, und die Zielappliance ist die Appliance, auf der die Datenbank wiederhergestellt wird.For these limitations and restrictions, the source appliance is the appliance from which the database backup was created, and the target appliance is the appliance to which the database will be restored.

  • Beim Wiederherstellen einer Datenbank wird nicht automatisch die Statistik neu erstellt.Restoring a database does not automatically rebuild statistics.
  • Auf der Appliance kann nur eine RESTORE DATABASE- oder BACKUP DATABASE-Anweisung gleichzeitig ausgeführt werden.Only one RESTORE DATABASE or BACKUP DATABASE statement can be running on the appliance at any given time. Werden mehrere BACKUP- und RESTORE-Anweisungen gleichzeitig gesendet, werden sie in eine Warteschlange eingereiht und nacheinander verarbeitet.If multiple backup and restore statements are submitted concurrently, the appliance will put them into a queue and process them one at a time.
  • Eine Datenbanksicherung kann nur auf einer Parallel Data WarehouseParallel Data Warehouse-Zielappliance wiederhergestellt werden, die eine gleiche oder höhere Anzahl von Computeknoten besitzt wie die Quellappliance.You can only restore a database backup to a Parallel Data WarehouseParallel Data Warehouse target appliance that has the same number or more Compute nodes than the source appliance. Die Zielappliance darf nicht über weniger Computeknoten verfügen als die Quellappliance.The target appliance cannot have fewer Compute nodes than the source appliance.
  • Es ist nicht möglich, eine Sicherung, die auf einer Appliance mit SQL Server 2012 PDW-Hardware erstellt wurde, auf einer Appliance mit SQL Server 2008 R2-Hardware wiederherzustellen.You cannot restore a backup that was created on an appliance that has SQL Server 2012 PDW hardware to an appliance that has SQL Server 2008 R2 hardware. Dies gilt auch, wenn die Appliance ursprünglich mit der SQL Server 2008 R2-PDW-Hardware gekauft wurde und mittlerweile mit SQL Server 2012 PDW-Software ausgeführt wird.This holds true even if the appliance was originally purchased with the SQL Server 2008 R2 PDW hardware and is now running SQL Server 2012 PDW software.

SperrenLocking

Sperrt exklusiv das DATABASE-Objekt.Takes an exclusive lock on the DATABASE object.

BeispieleExamples

A.A. Einfache Beispiele für RESTORESimple RESTORE examples

Im folgenden Beispiel wird eine vollständige Sicherung auf einer SalesInvoices2013-Datenbank wiederhergestellt.The following example restores a full backup to the SalesInvoices2013 database. Die Sicherungsdateien werden im Verzeichnis \\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full gespeichert.The backup files are stored in the \\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full directory. Die Datenbank „SalesInvoices2013“ darf auf der Zielappliance nicht bereits vorhanden sein. Andernfalls erzeugt dieser Befehl einen Fehler.The SalesInvoices2013 database cannot already exist on the target appliance or this command will fail with an error.

RESTORE DATABASE SalesInvoices2013
FROM DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full';

B.B. Wiederherstellen einer vollständigen und differenziellen SicherungRestore a full and differential backup

Im folgenden Beispiel wird zunächst eine vollständige, anschließend eine differenzielle Sicherung auf der Datenbank „SalesInvoices2013“ wiederhergestellt.The following example restores a full, and then a differential backup to the SalesInvoices2013 database

Die vollständige Sicherung der Datenbank wird von der vollständigen Sicherung im Verzeichnis \\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full wiederhergestellt.The full backup of the database is restored from the full backup which is stored in the \\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full directory. Nach der erfolgreichen Wiederherstellung wird die differenzielle Sicherung auf der Datenbank „SalesInvoices2013“ wiederhergestellt.If the restore completes successfully, the differential backup is restored to the SalesInvoices2013 database. Die differenzielle Sicherung wird im Verzeichnis \\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff gespeichert.The differential backup is stored in the \\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff directory.

RESTORE DATABASE SalesInvoices2013
    FROM DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff'
    WITH BASE = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full'
[;]

C.C. Wiederherstellen des SicherungsheadersRestoring the backup header

In diesem Beispiel werden die Headerinformationen für die Datenbanksicherung \\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full wiederhergestellt.This example restores the header information for database backup \\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full . Der Befehl ergibt eine Zeile mit Informationen für die Sicherung von „Invoices2013Full“.The command results in one row of information for the Invoices2013Full backup.

RESTORE HEADERONLY
    FROM DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full'
[;]

Sie können die Headerinformationen verwenden, um den Inhalt einer Sicherung zu überprüfen. Sie können damit auch sicherstellen, dass die Zielappliance für die Wiederherstellung mit der Quellappliance der Sicherung kompatibel ist, bevor Sie mit dem Wiederherstellen der Sicherung beginnen.You can use the header information to check the contents of a backup, or to make sure the target restoration appliance is compatible with the source backup appliance before attempting to restore the backup.

Weitere InformationenSee Also

BACKUP DATABASE – Analytics Platform SystemBACKUP DATABASE - Analytics Platform System