Instructions RESTORE (Transact-SQL)RESTORE Statements (Transact-SQL)

Restaure les sauvegardes des bases de données SQL réalisées à l’aide de la commande BACKUP.Restores SQL database backups taken using the BACKUP command.

Cliquez sur l’un des onglets suivants pour connaître la syntaxe, les arguments, les remarques, les autorisations et des exemples propres à la version de SQL que vous utilisez.Click one of the following tabs for the syntax, arguments, remarks, permissions, and examples for a particular SQL version with which you are working.

Pour plus d’informations sur les conventions de la syntaxe, consultez Conventions de la syntaxe Transact-SQL.For more information about the syntax conventions, see Transact-SQL Syntax Conventions.

Cliquez sur un produit !Click a product!

Dans la ligne suivante, cliquez sur le nom du produit qui vous intéresse.In the following row, click whichever product name you are interested in. Le clic affiche un contenu différent ici, approprié pour le produit sur lequel vous cliquez :The click displays different content here, appropriate for whichever product you click:

* SQL Server *  * SQL Server *   Instance managée
SQL Database
SQL Database
managed instance
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

SQL ServerSQL Server

Cette commande vous permet d'effectuer les scénarios de restauration suivants :This command enables you to perform the following restore scenarios:

  • Restaurer une base de données complète à partir d'une sauvegarde de base de données complète (restauration complète)Restore an entire database from a full database backup (a complete restore).
  • Restaurer une partie d'une base de données (restauration partielle)Restore part of a database (a partial restore).
  • Restaurer des fichiers ou des groupes de fichiers spécifiques dans une base de données (restauration de fichiers)Restore specific files or filegroups to a database (a file restore).
  • Restaurer des pages spécifiques dans une base de données (restauration de pages)Restore specific pages to a database (a page restore).
  • Restaurer un journal des transactions dans une base de données (restauration de journal des transactions)Restore a transaction log onto a database (a transaction log restore).
  • Rétablir une base de données au point d'instantané de base de données.Revert a database to the point in time captured by a database snapshot.

Pour plus d’informations sur les scénarios de restauration SQL ServerSQL Server, consultez l’article Vue d’ensemble de la restauration et de la récupération.For more information about SQL ServerSQL Server restore scenarios, see Restore and Recovery Overview. Pour plus d’informations sur les descriptions des arguments, consultez l’article Instructions RESTORE – Arguments .For more information about descriptions of the arguments, see RESTORE Arguments. Lors de la restauration d’une base de données d’une autre instance, tenez compte des informations de la page Gérer les métadonnées lors de la mise à disposition d’une base de données sur une autre instance de serveur (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).

Notes

Pour plus d’informations sur la restauration à partir du service Stockage Blob Microsoft Azure, consultez Sauvegarde et restauration SQL Server avec le service Stockage Blob Microsoft Azure.For more information about restoring from the Microsoft Azure Blob storage service, see SQL Server Backup and Restore with Microsoft Azure Blob Storage Service.

SyntaxeSyntax

--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']
   }

ArgumentsArguments

Pour une description des arguments, consultez l’article Instructions RESTORE – Arguments .For descriptions of the arguments, see RESTORE Arguments.

À propos des scénarios de restaurationAbout Restore Scenarios

SQL ServerSQL Server prend en charge un large éventail de scénarios de restauration :supports a variety of restore scenarios:

Si la restauration en ligne est prise en charge et si la base de données est en ligne, les restaurations de fichiers et de pages s'effectuent automatiquement en ligne, ainsi que les restaurations du groupe de fichiers secondaire une fois la phase initiale de restauration fragmentaire effectuée.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.

Notes

Les restaurations en ligne peuvent impliquer des transactions différées.Online restores can involve deferred transactions.

Pour plus d’informations, consultez l’article Restauration en ligne.For more information, see Online Restore.

Considérations supplémentaires à propos des options RESTOREAdditional Considerations About RESTORE Options

Mots clés RESTORE supprimésDiscontinued RESTORE Keywords

Les mots clés suivants ont été supprimés dans SQL Server 2008SQL Server 2008 :The following keywords were discontinued in SQL Server 2008SQL Server 2008:

Mot clé suppriméDiscontinued keyword Remplacé par...Replaced by... Exemple de mot clé de remplacementExample 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 peut contenir une liste de fichiers pour permettre la création des fichiers lors de la restauration par progression.RESTORE LOG can include a file list to allow for creation of files during rollforward. Elle est utilisée lorsque la sauvegarde du journal contient des enregistrements qui ont été écrits lorsqu'un fichier a été ajouté à la base de données.This is used when the log backup contains log records written when a file was added to the database.

Notes

Pour une base de données en mode de récupération complète ou en mode de récupération utilisant les journaux de transactions, vous devez dans la plupart des cas effectuer une sauvegarde de la fin du journal, avant la restauration de la base de données.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. Restaurer une base de données sans effectuer une sauvegarde de la fin du journal au préalable entraîne une erreur, sauf si l'instruction RESTORE DATABASE contient la clause WITH REPLACE ou WITH STOPAT, qui doit spécifier une heure ou une transaction qui s'est produite après la fin de la sauvegarde des données.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. Pour plus d’informations sur les sauvegardes de la fin du journal, consultez l’article Sauvegardes de la fin du journal.For more information about tail-log backups, see Tail-Log Backups.

Comparaison entre RECOVERY et NORECOVERYComparison of RECOVERY and NORECOVERY

La restauration est contrôlée par l'instruction RESTORE et les options [ RECOVERY | NORECOVERY ] :Rollback is controlled by the RESTORE statement through the [ RECOVERY | NORECOVERY ] options:

  • NORECOVERY indique que la restauration ne s'effectue pas.NORECOVERY specifies that rollback doesn't occur. Cela permet la poursuite de la restauration par progression avec l'instruction suivante de la séquence.This allows rollforward to continue with the next statement in the sequence.

    Dans ce cas, la séquence de restauration restaure d'autres sauvegardes, puis les restaure par progression.In this case, the restore sequence can restore other backups and roll them forward.

  • RECOVERY (valeur par défaut) indique que la restauration doit être effectuée après la restauration par progression de la sauvegarde actuelle.RECOVERY (the default) indicates that rollback should be performed after rollforward is completed for the current backup.

    Pour récupérer la base de données, le jeu de données faisant l’objet de la restauration (jeu de restauration par progression) doit être entièrement cohérent par rapport à la base de données.Recovering the database requires that the entire set of data being restored (the rollforward set) is consistent with the database. Si la restauration par progression du jeu de restauration par progression n'est pas allée assez loin pour être cohérente par rapport à la base de données et si l'option RECOVERY est spécifiée, le Moteur de base de donnéesDatabase Engine génère une erreur.If the rollforward set has not been rolled forward far enough to be consistent with the database and RECOVERY is specified, the Moteur de base de donnéesDatabase Engine issues an error. Pour plus d’informations sur le processus de récupération, consultez Vue d’ensemble de la restauration et de la récupération (SQL Server).For more information about the recovery process, see Restore and Recovery Overview (SQL Server).

Prise en charge de la compatibilitéCompatibility Support

Les sauvegardes des bases de données master, model et msdb créées avec une version antérieure de SQL ServerSQL Server ne peuvent pas être restaurées par SQL ServerSQL Server.Backups of master, model and msdb that were created by using an earlier version of SQL ServerSQL Server cannot be restored by SQL ServerSQL Server.

Notes

Aucune sauvegarde SQL ServerSQL Server ne peut restaurée dans une version de SQL ServerSQL Server antérieure à celle sur laquelle la sauvegarde a été créée.No SQL ServerSQL Server backup be restored to an earlier version of SQL ServerSQL Server than the version on which the backup was created.

Chaque version de SQL ServerSQL Server utilise un chemin d'accès par défaut différent de celui des versions antérieures.Each version of SQL ServerSQL Server uses a different default path than earlier versions. Par conséquent, pour restaurer une base de données créée à l'emplacement par défaut des sauvegardes de version antérieure, vous devez utiliser l'option MOVE.Therefore, to restore a database that was created in the default location for earlier version backups, you must use the MOVE option. Pour plus d’informations sur le nouveau chemin par défaut, consultez Emplacements des fichiers pour les instances par défaut et les instances nommées de SQL Server.For information about the new default path, see File Locations for Default and Named Instances of SQL Server.

Après avoir restauré une base de données de version antérieure dans SQL ServerSQL Server, la base de données est automatiquement mise à niveau.After you restore an earlier version database to SQL ServerSQL Server, the database is automatically upgraded. En général, la base de données est immédiatement disponible.Typically, the database becomes available immediately. Toutefois, si une base de données SQL Server 2005 (9.x)SQL Server 2005 (9.x) comprend des index de recherche en texte intégral, le processus de mise à niveau les importe, les réinitialise ou les reconstruit, selon la valeur de la propriété de serveur 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. Si l’option de mise à niveau a la valeur Importer (upgrade_option = 2) ou Reconstruire (upgrade_option = 0), les index de recherche en texte intégral ne seront pas disponibles pendant la mise à niveau.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. Selon le volume de données indexé, l'importation peut prendre plusieurs heures et la reconstruction jusqu'à dix fois plus longtemps.Depending on the amount of data being indexed, importing can take several hours, and rebuilding can take up to ten times longer. Notez également que lorsque l'option de mise à niveau est Importer, les index de recherche en texte intégral associés sont reconstruits si aucun catalogue de texte intégral n'est disponible.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. Pour modifier le paramètre de la propriété de serveur upgrade_option , utilisez sp_fulltext_service.To change the setting of the upgrade_option server property, use sp_fulltext_service.

Lorsqu'une base de données est attachée ou restaurée pour la première fois à une nouvelle instance de SQL ServerSQL Server, une copie de la clé principale de la base de données (chiffrée par la clé principale du service) n'est pas encore stockée sur le serveur.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. Vous devez utiliser l’instruction OPEN MASTER KEY pour déchiffrer la clé principale de la base de données.You must use the OPEN MASTER KEY statement to decrypt the database master key (DMK). Une fois la clé principale de la base de données déchiffrée, vous avez la possibilité d’activer le déchiffrement automatique dans le futur en exécutant l’instruction ALTER MASTER KEY REGENERATE pour fournir au serveur une copie de la clé principale de la base de données chiffrée avec la clé principale du service.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). Lorsqu'une base de données a été mise à niveau à partir d'une version antérieure, la clé DMK doit être régénérée de façon à utiliser le nouvel algorithme AES.When a database has been upgraded from an earlier version, the DMK should be regenerated to use the newer AES algorithm. Pour plus d’informations sur la régénération de la clé DMK, consultez l’article ALTER MASTER KEY.For more information about regenerating the DMK, see ALTER MASTER KEY. La durée nécessaire pour régénérer la clé DMK à mettre à niveau vers AES dépend du nombre d'objets protégés par la clé DMK.The time required to regenerate the DMK key to upgrade to AES depends upon the number of objects protected by the DMK. La régénération de la clé DMK à mettre à niveau vers AES est nécessaire une seule fois et n'a aucune incidence sur les régénérations ultérieures effectuées dans le cadre d'une stratégie de rotation de clés.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.

Remarques d'ordre généralGeneral Remarks

Lors d'une restauration hors ligne, si la base de données spécifiée est en cours d'utilisation, RESTORE force la déconnexion des utilisateurs après un court délai.During an offline restore, if the specified database is in use, RESTORE forces the users off after a short delay. Pour la restauration en ligne d'un groupe de fichiers non primaire, la base de données peut rester active, sauf si le groupe de fichiers restaurés est hors ligne.For online restore of a non-primary filegroup, the database can stay in use except when the filegroup being restored is being taken offline. Toutes les données que la base contient sont remplacées par les données restaurées.Any data in the specified database is replaced by the restored data.

Les opérations de restauration inter-plateformes, impliquant éventuellement des types de processeurs différents, peuvent être réalisées tant que le classement de la base de données est pris en charge par le système d'exploitation.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.

La commande RESTORE peut être redémarrée après une erreur.RESTORE can be restarted after an error. En outre, vous pouvez contraindre la commande RESTORE à poursuivre son traitement en dépit des erreurs. Elle restaure ainsi le plus de données possible (voir l'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).

La commande RESTORE n'est pas autorisée dans une transaction explicite ou implicite.RESTORE is not allowed in an explicit or implicit transaction.

La restauration d’une base de données master endommagée s’effectue selon une procédure spéciale.Restoring a damaged master database is performed using a special procedure. Pour plus d’informations, consultez l’article Sauvegarder et restaurer des bases de données système.For more information, see Back Up and Restore of System Databases.

La restauration d’une base de données efface le cache de plan pour la base de données en cours de restauration.Restoring a database clears the plan cache for the database being restored. Cette opération entraîne la recompilation de tous les plans d'exécution ultérieurs et peut entraîner une baisse temporaire et brutale des performances des requêtes.Clearing the plan cache causes a recompilation of all subsequent execution plans and can cause a sudden, temporary decrease in query performance.

Pour restaurer une base de données de disponibilité, restaurez d'abord la base de données en tant qu'instance SQL ServerSQL Server, puis ajoutez la base de données au groupe de disponibilité.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.

InteropérabilitéInteroperability

Paramètres de bases de données et restaurationDatabase Settings and Restoring

Lors d'une restauration, les valeurs de la plupart des options de base de données pouvant être définies avec ALTER DATABASE et en vigueur à la fin de la sauvegarde sont rétablies.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.

Cependant, l'utilisation de WITH RESTRICTED_USER annule ce comportement pour le paramètre de l'option d'accès utilisateur.Using the WITH RESTRICTED_USER option, however, overrides this behavior for the user access option setting. Ce paramètre est toujours défini suivant une instruction RESTORE qui inclut l'option WITH RESTRICTED_USER.This setting is always set following a RESTORE statement, which includes the WITH RESTRICTED_USER option.

Restauration d'une base de données chiffréeRestoring an Encrypted Database

Pour restaurer une base de données chiffrée, vous devez avoir accès au certificat ou à la clé asymétrique qui a servi à chiffrer la base de données.To restore a database that is encrypted, you must have access to the certificate or asymmetric key that was used to encrypt the database. Sans le certificat et la clé asymétrique, la base de données ne peut pas être restaurée.Without the certificate or asymmetric key, the database cannot be restored. En conséquence, le certificat utilisé pour chiffrer la clé de chiffrement de base de données doit être conservé tant que la sauvegarde est utile.As a result, the certificate that is used to encrypt the database encryption key must be retained as long as the backup is needed. Pour plus d'informations, consultez SQL Server Certificates and Asymmetric Keys.For more information, see SQL Server Certificates and Asymmetric Keys.

Restauration d'une base de données activée pour le stockage vardecimalRestoring a Database Enabled for vardecimal Storage

Les sauvegardes et les restaurations fonctionnent correctement avec le format de stockage vardecimal.Backup and restore work correctly with the vardecimal storage format. Pour plus d’informations sur le format de stockage vardecimal, consultez l’article sp_db_vardecimal_storage_format.For more information about vardecimal storage format, see sp_db_vardecimal_storage_format.

Restauration de données de texte intégralRestore Full-Text Data

Les données de texte intégral sont restaurées avec d'autres données de base de données lors d'une restauration complète.Full-text data is restored together with other database data during a complete restore. La syntaxe régulière RESTORE DATABASE database_name FROM backup_device permet de restaurer les fichiers de texte intégral comme des éléments faisant partie intégrante de la restauration de fichiers de base de données.Using the regular RESTORE DATABASE database_name FROM backup_device syntax, the full-text files are restored as part of the database file restore.

L'instruction RESTORE permet également d'effectuer des restaurations dans d'autres emplacements, des restaurations différentielles, des restaurations de fichiers et de groupes de fichiers, ainsi que des restaurations de fichiers et groupes de fichiers différentielles de données de texte intégral.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. En outre, cette instruction permet de restaurer des fichiers de texte intégral uniquement, ainsi que des données de base de données.In addition, RESTORE can restore full-text files only, as well as with database data.

Notes

Les catalogues de texte intégral importés à partir de SQL Server 2005 (9.x)SQL Server 2005 (9.x) sont toujours traités en tant que fichiers de base de données.Full-text catalogs imported from SQL Server 2005 (9.x)SQL Server 2005 (9.x) are still treated as database files. Pour ceux-ci, la procédure SQL Server 2005 (9.x)SQL Server 2005 (9.x) de sauvegarde des catalogues de texte intégral reste applicable, mais la suspension et la reprise en cours de sauvegarde ne sont plus nécessaires.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. Pour plus d’informations, consultez Sauvegarde et restauration de catalogues de texte intégral.For more information, see Backing Up and Restoring Full-Text Catalogs.

Clusters Big Data SQL ServerSQL Server Big Data Clusters

Pour certaines opérations, comme notamment la configuration des paramètres de serveur (au niveau de l’instance) ou l’ajout manuel d’une base de données à un groupe de disponibilité, une connexion à l’instance SQL Server peut s’avérer nécessaire.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. Les opérations comme sp_configure, RESTORE DATABASE ou n’importe quelle commande DDL dans une base de données appartenant à un groupe de disponibilité nécessitent une connexion à l’instance SQL Server.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. Par défaut, un cluster Big Data ne comporte pas de point de terminaison permettant une connexion à l’instance.By default, a big data cluster does not include an endpoint that enables a connection to the instance. Vous devez exposer ce point de terminaison manuellement.You must expose this endpoint manually.

Pour obtenir des instructions, consultez Se connecter aux bases de données sur le réplica principal.For instructions, see Connect to databases on the primary replica.

MétadonnéesMetadata

SQL ServerSQL Server intègre des tables d'historique de sauvegarde et de restauration qui assurent le suivi des activités de sauvegarde et de restauration pour chaque instance de serveur.includes backup and restore history tables that track the backup and restore activity for each server instance. Lorsqu'une restauration est effectuée, les tables d'historique de sauvegarde sont également modifiées.When a restore is performed, the backup history tables are also modified. Pour plus d’informations sur ces tables, consultez l’article Historique de sauvegarde et informations d’en-tête.For information on these tables, see Backup History and Header Information.

Impact de l’option REPLACEREPLACE Option Impact

L'option REPLACE ne doit être utilisée que rarement et après un examen attentif.REPLACE should be used rarely and only after careful consideration. Généralement, la restauration empêche le remplacement accidentel d'une base de données par une autre.Restore normally prevents accidentally overwriting a database with a different database. Si la base de données nommée dans l'instruction RESTORE existe déjà sur le serveur actif et que le GUID de famille de la base de données spécifié ne correspond pas à celui qui est enregistré dans le jeu de sauvegarde, la base de données n'est pas restaurée.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. Cette mesure de sécurité est très importante,This is an important safeguard.

L'option REPLACE annule d'importants contrôles de sécurité normalement effectués lors d'une restauration.The REPLACE option overrides several important safety checks that restore normally performs. Ces contrôles ignorés sont les suivants :The overridden checks are as follows:

  • Restauration par remplacement d'une base de données existante par une sauvegarde d'une autre base de données.Restoring over an existing database with a backup taken of another database.

    Avec l'option REPLACE, la restauration vous permet de remplacer une base de données existante par la base de données figurant dans le jeu de sauvegarde, même si le nom de base de données spécifié diffère de celui enregistré dans le jeu en question.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. Cela peut entraîner un remplacement accidentel d'une base de données par une autre.This can result in accidentally overwriting a database by a different database.

  • Restauration par remplacement d'une base de données à l'aide du mode de restauration complète ou du mode de récupération utilisant les journaux de transactions quand une sauvegarde de la fin du journal n'a pas été réalisée et quand l'option STOPAT n'est pas employée.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.

    Avec l'option REPLACE, vous pouvez perdre des transactions déjà validées du fait que le dernier journal écrit n'a pas été sauvegardé.With the REPLACE option, you can lose committed work, because the log written most recently has not been backed up.

  • Remplacement des fichiers existantsOverwriting existing files.

    Par exemple, une erreur peut entraîner le remplacement des fichiers existants d'un type incorrect (par exemple, fichiers .xls) ou de fichiers actuellement utilisés par une autre base de données qui n'est pas en ligne.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. Une perte de données arbitraire peut avoir lieu si des fichiers existants sont remplacés, même si la base de données restaurée est complète.Arbitrary data loss is possible if existing files are overwritten, although the restored database is complete.

Rétablir une restaurationRedoing a Restore

Il n'est pas possible d'annuler les effets d'une restauration. Cependant, vous pouvez annuler les effets de la copie et de la restauration par progression des données en recommençant fichier par fichier.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. Pour recommencer, restaurez le fichier approprié et réeffectuez la restauration par progression.To start over, restore the desired file and perform the rollforward again. Par exemple, si vous avez accidentellement restauré trop de sauvegardes du journal et dépassé le point d'arrêt voulu, redémarrez la séquence.For example, if you accidentally restored too many log backups and overshot your intended stopping point, you would have to restart the sequence.

Une séquence de restauration peut être annulée et redémarrée en restaurant l'ensemble du contenu des fichiers concernés.A restore sequence can be aborted and restarted by restoring the entire contents of the affected files.

Restauration d'une base de données vers un instantané de base de donnéesReverting a Database to a Database Snapshot

Une opération de rétablissement de base de données (spécifiée avec l’option DATABASE_SNAPSHOT) ramène une base de données source complète à un moment donné dans le temps, en rétablissant l’instantané de base de données à cet instant-là, c’est-à-dire en remplaçant la base de données source par les données correspondant à une date et heure précises dans l’instantané de base de données spécifié.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. Seul l'instantané vers lequel vous effectuez le rétablissement peut exister.Only the snapshot to which you are reverting can currently exist. Cette opération reconstruit ensuite le journal (par conséquent, vous ne pouvez pas effectuer une restauration par progression d'une base de données rétablie au point d'erreur de l'utilisateur).The revert operation then rebuilds the log (therefore, you cannot later rollforward a reverted database to the point of user error).

La perte de données est limitée aux mises à jour de la base de données depuis la création de l'instantané.Data loss is confined to updates to the database since the snapshot's creation. Les métadonnées d'une base de données rétablie sont identiques aux métadonnées au moment de la création de l'instantané.The metadata of a reverted database is the same as the metadata at the time of snapshot creation. Toutefois, le retour à un instantané supprime tous les catalogues de texte intégral.However, reverting to a snapshot drops all the full-text catalogs.

Le rétablissement à partir d'un instantané de base de données n'est pas destiné à la récupération des supports.Reverting from a database snapshot is not intended for media recovery. Contrairement à un jeu de sauvegarde classique, l'instantané de base de données est une copie incomplète des fichiers de la base de données.Unlike a regular backup set, the database snapshot is an incomplete copy of the database files. Si la base de données ou l'instantané de base de données est endommagé, le rétablissement à partir d'un instantané sera probablement impossible.If either the database or the database snapshot is corrupted, reverting from a snapshot is likely to be impossible. En outre, même lorsque le rétablissement est possible, il est peu probable qu'il permette de corriger le problème en cas de dommages.Furthermore, even when possible, reverting in the event of corruption is unlikely to correct the problem.

Restrictions liées au rétablissementRestrictions on Reverting

Le rétablissement n'est pas pris en charge dans les conditions suivantes :Reverting is unsupported under the following conditions:

  • La base de données source contient des groupes de fichiers en lecture seule ou compressés.The source database contains any read-only or compressed filegroups.
  • Des fichiers sont hors connexion alors qu'ils étaient en ligne lors de la création de l'instantané.Any files are offline that were online when the snapshot was created.
  • Il existe plus d'un instantané de la base de données.More than one snapshot of the database currently exists.

Pour plus d’informations, consultez Rétablir une base de données dans l’état d’un instantané de base de données.For more information, see Revert a Database to a Database Snapshot.

SécuritéSecurity

Une opération de sauvegarde peut éventuellement spécifier des mots de passe pour un support de sauvegarde, un jeu de sauvegarde ou les deux.A backup operation may optionally specify passwords for a media set, a backup set, or both. Lorsqu'un mot de passe a été défini sur un support de sauvegarde ou un jeu de sauvegarde, vous devez entrer le ou les mots de passe corrects dans l'instruction RESTORE.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. Ces mots de passe empêchent les opérations non autorisées de restauration et d'ajouts de jeux de sauvegarde au support à l'aide d'outils SQL ServerSQL Server.These passwords prevent unauthorized restore operations and unauthorized appends of backup sets to media using SQL ServerSQL Server tools. Cependant, les supports protégés par un mot de passe peuvent être remplacés par l'option FORMAT de l'instruction BACKUP.However, password-protected media can be overwritten by the BACKUP statement's FORMAT option.

Important

Le niveau de protection de ce mot de passe est faible.The protection provided by this password is weak. Son but est d'éviter que des utilisateurs autorisés ou non autorisés effectuent une restauration incorrecte à l'aide des outils SQL ServerSQL Server.It is intended to prevent an incorrect restore using SQL ServerSQL Server tools by authorized or unauthorized users. En aucun cas, elle n'empêche la lecture des données de la sauvegarde par d'autres moyens ou le remplacement du mot de passe.It does not prevent the reading of the backup data by other means or the replacement of the password. Cette fonctionnalité est en mode de maintenance et risque d’être supprimée dans une prochaine version de Microsoft SQL Server.This feature is in maintenance mode and may be removed in a future version of Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.La bonne pratique en matière de protection des sauvegardes consiste à stocker les bandes de sauvegarde dans un emplacement sûr ou à sauvegarder les fichiers disque protégés par une liste de contrôle d’accès (ACL).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). La liste de contrôle d'accès doit être définie à la racine du répertoire dans lequel les sauvegardes sont effectuées.The ACLs should be set on the directory root under which backups are created.

Notes

Pour obtenir des informations spécifiques sur la sauvegarde et la restauration SQL Server avec le service de stockage Microsoft Blob Azure, consultez Sauvegarde et restauration SQL Server avec le service de stockage Microsoft Blob Azure.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.

AutorisationsPermissions

Si la base de données restaurée n'existe pas, l'utilisateur doit posséder les autorisations CREATE DATABASE afin de pouvoir exécuter RESTORE.If the database being restored does not exist, the user must have CREATE DATABASE permissions to be able to execute RESTORE. Si la base de données existe, les autorisations RESTORE reviennent par défaut aux membres des rôles serveur fixe sysadmin et dbcreator et au propriétaire (dbo) de la base de données (pour l’option FROM DATABASE_SNAPSHOT, la base de données existe toujours).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).

Les autorisations RESTORE sont attribuées aux rôles dont les informations d'appartenance sont toujours immédiatement accessibles à partir du serveur.RESTORE permissions are given to roles in which membership information is always readily available to the server. Étant donné que l’appartenance au rôle de base de données fixe ne peut être contrôlée que quand la base de données est accessible et non endommagée, ce qui n’est pas toujours le cas lorsque RESTORE est exécuté, les membres du rôle de base de données fixe db_owner ne détiennent pas d’autorisations RESTORE.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.

ExemplesExamples

Tous les exemples partent du principe qu'une sauvegarde complète de la base de données a été effectuée.All the examples assume that a full database backup has been performed.

Parmi les exemples d'instruction RESTORE, citons :The RESTORE examples include the following:

Notes

Pour obtenir d’autres exemples, consultez les rubriques de procédures de restauration répertoriées dans l’article Vue d’ensemble de la restauration et de la récupération.For additional examples, see the restore how-to topics that are listed in Restore and Recovery Overview.

A.A. Restauration d’une base de données complèteRestoring a full database

L'exemple suivant restaure une sauvegarde de base de données complète à partir de l'unité de sauvegarde logique AdventureWorksBackups.The following example restores a full database backup from the AdventureWorksBackups logical backup device. Pour obtenir un exemple de création de cette unité, consultez Unités de sauvegarde.For an example of creating this device, see Backup Devices.

RESTORE DATABASE AdventureWorks2012
  FROM AdventureWorks2012Backups;

Notes

Pour une base de données en mode de récupération complète ou utilisant les journaux de transactions, SQL ServerSQL Server nécessite dans la plupart des cas une sauvegarde de la fin du journal, avant la restauration de la base de données.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. Pour plus d’informations, consultez l’article Sauvegardes de la fin du journal.For more information, see Tail-Log Backups.

[Début des exemples][Top of examples]

B.B. Restauration de sauvegardes complètes et différentielles d'une base de donnéesRestoring full and differential database backups

L'exemple suivant restaure une sauvegarde de base de données complète, puis une sauvegarde différentielle, à partir de l'unité de sauvegarde Z:\SQLServerBackups\AdventureWorks2012.bak qui contient les deux sauvegardes.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. La sauvegarde de base de données complète à restaurer correspond au sixième jeu de sauvegarde se trouvant sur l'unité (FILE = 6), tandis que la sauvegarde de base de données différentielle correspond au neuvième jeu de sauvegarde se trouvant sur l'unité (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). Une fois la sauvegarde différentielle récupérée, la récupération de la base de données est terminée.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;

[Début des exemples][Top of examples]

C.C. Restauration d'une base de données en utilisant la syntaxe RESTARTRestoring a database using RESTART syntax

Dans l'exemple suivant, l'option RESTART est utilisée pour redémarrer une opération RESTORE interrompue par une coupure de courant sur le serveur.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;

[Début des exemples][Top of examples]

D.D. Restauration d'une base de données et déplacement des fichiersRestoring a database and move files

L'exemple suivant restaure l'intégralité d'une base de données et de son journal des transactions, puis déplace la base de données restaurée vers le répertoire C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data.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;

[Début des exemples][Top of examples]

E.E. Copie d'une base de données en utilisant BACKUP et RESTORECopying a database using BACKUP and RESTORE

L'exemple suivant utilise à la fois les instructions BACKUP et RESTORE pour effectuer une copie de la base de données AdventureWorks2012AdventureWorks2012.The following example uses both the BACKUP and RESTORE statements to make a copy of the AdventureWorks2012AdventureWorks2012 database. L'instruction MOVE entraîne la restauration des données et du fichier journal aux emplacements spécifiés.The MOVE statement causes the data and log file to be restored to the specified locations. L'instruction RESTORE FILELISTONLY permet de déterminer le nombre et le nom des fichiers de la base de données en cours de restauration.The RESTORE FILELISTONLY statement is used to determine the number and names of the files in the database being restored. La nouvelle copie de la base de données se nomme TestDB.The new copy of the database is named TestDB. Pour plus d’informations, consultez l’article 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

[Début des exemples][Top of examples]

F.F. Restauration jusqu'à une date et heure en utilisant STOPATRestoring to a point-in-time using STOPAT

L'exemple suivant restaure une base de données dans l'état où elle se trouvait le 12:00 AM à April 15, 2020 et décrit une opération de restauration impliquant plusieurs sauvegardes de fichiers journaux.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. Sur l'unité de sauvegarde AdventureWorksBackups, la sauvegarde de base de données complète à restaurer correspond au troisième jeu de sauvegarde (FILE = 3), la première sauvegarde de fichier journal correspond au quatrième jeu de sauvegarde (FILE = 4) et la seconde sauvegarde de fichier journal correspond au cinquième jeu de sauvegarde (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;

[Début des exemples][Top of examples]

G.G. Restauration du journal des transactions jusqu'à une marqueRestoring the transaction log to a mark

L'exemple suivant restaure le journal des transactions jusqu'à la marque dans la transaction marquée nommée ListPriceUpdate.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';

[Début des exemples][Top of examples]

H.H. Restauration en utilisant la syntaxe TAPERestoring using TAPE syntax

L'exemple suivant restaure une sauvegarde de base de données complète à partir d'une unité de sauvegarde TAPE.The following example restores a full database backup from a TAPE backup device.

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

[Début des exemples][Top of examples]

I.I. Restauration en utilisant la syntaxe FILE et FILEGROUPRestoring using FILE and FILEGROUP syntax

L'exemple suivant restaure une base de données nommée MyDatabase qui est composée de deux fichiers, d'un groupe de fichiers secondaire et d'un journal des transactions.The following example restores a database named MyDatabase that has two files, one secondary filegroup, and one transaction log. La base de données utilise le mode de récupération complète.The database uses the full recovery model.

La sauvegarde de la base de données est le neuvième jeu de sauvegarde dans le support de sauvegarde sur une unité de sauvegarde logique nommée MyDatabaseBackups.The database backup is the ninth backup set in the media set on a logical backup device named MyDatabaseBackups. Trois sauvegardes de fichier journal, qui se trouvent dans les trois jeux de sauvegarde suivants (10, 11 et 12) sur l'unité MyDatabaseBackups sont ensuite restaurés à l'aide de WITH NORECOVERY.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. Une fois restaurée la dernière sauvegarde de fichier journal, la base de données est récupérée.After restoring the last log backup, the database is recovered.

Notes

La récupération est réalisée séparément afin d'éviter qu'elle n'ait lieu trop tôt, c'est-à-dire avant que la totalité des sauvegardes de fichier journal n'ait été restaurée.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. Pour plus d’informations sur le processus de récupération, consultez Vue d’ensemble de la restauration et de la récupération (SQL Server).For more information about the recovery process, see Restore and Recovery Overview (SQL Server).

Dans l'instruction RESTORE DATABASE, il existe deux types d'options FILE.In the RESTORE DATABASE, notice that there are two types of FILE options. Les options FILE qui précèdent le nom de l'unité de sauvegarde spécifient les noms de fichiers logiques des fichiers de base de données à restaurer à partir du jeu de sauvegarde, par exemple 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'. Ce jeu de sauvegarde n'est pas la première sauvegarde de base de données dans le support de sauvegarde. Par conséquent, sa position dans le support de sauvegarde est indiquée via l'option FILE dans la clause WITH, en l'occurrence 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

[Début des exemples][Top of examples]

J.J. Rétablissement à partir d'un instantané de base de donnéesReverting from a database snapshot

L'exemple suivant rétablit un instantané de base de données.The following example reverts a database to a database snapshot. Il part du principe qu'un seul instantané existe actuellement dans la base de données.The example assumes that only one snapshot currently exists on the database. Pour obtenir un exemple de la façon de créer cet instantané de base de données, consultez l’article Créer un instantané de base de données.For an example of how to create this database snapshot, see Create a Database Snapshot.

Notes

Le rétablissement d'un instantané supprime tous les catalogues de texte intégral.Reverting to a snapshot drops all the full-text catalogs.

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

Pour plus d’informations, consultez Rétablir une base de données dans l’état d’un instantané de base de données.For more information, see Revert a Database to a Database Snapshot.

[Début des exemples][Top of examples]

K.K. Restauration à partir du service de stockage Microsoft Blob AzureRestoring from the Microsoft Azure Blob storage service

Les trois exemples ci-dessous impliquent l’utilisation du service de stockage Microsoft Azure.The three examples below involve the use of the Microsoft Azure storage service. Le nom du compte de stockage est mystorageaccount.The storage Account name is mystorageaccount. Le conteneur des fichiers de données est appelé myfirstcontainer.The container for data files is called myfirstcontainer. Le conteneur des fichiers de sauvegarde est appelé mysecondcontainer.The container for backup files is called mysecondcontainer. Une stratégie d’accès stockée a été créée avec des droits de lecture, écriture, suppression et liste pour chaque conteneur.A stored access policy has been created with read, write, delete, and list, rights for each container. Des informations d’identification SQL Server ont été créées en utilisant des signatures d’accès partagé associées aux stratégies d’accès stockées.SQL Server credentials were created using Shared Access Signatures that are associated with the Stored Access Policies. Pour obtenir des informations spécifiques sur la sauvegarde et la restauration SQL Server avec le service de stockage Microsoft Blob Azure, consultez Sauvegarde et restauration SQL Server avec le service de stockage Microsoft Blob Azure.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. Restaurer une sauvegarde complète de base de données à partir du service de stockage Microsoft Azure K1. Restore a full database backup from the Microsoft Azure storage service
Une sauvegarde complète de base de données située dans le conteneur mysecondcontainer de Sales sera restaurée dans myfirstcontainer.A full database backup, located at mysecondcontainer, of Sales will be restored to myfirstcontainer. Sales n’existe actuellement pas sur le serveur.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. Restaurer une sauvegarde complète de base de données à partir du service Stockage Microsoft Azure vers un stockage local Une sauvegarde complète de base de données, située dans le conteneur mysecondcontainer, de Sales sera restaurée dans le stockage local.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 n’existe actuellement pas sur le serveur.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. Restaurer une sauvegarde complète de base de données du stockage local vers le service de stockage Microsoft AzureK3. 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;

[Début des exemples][Top of examples]

Informations complémentairesMore information

Vue d'ensemble de la restauration et de la récupération (SQL Server) Restore and Recovery Overview (SQL Server)
Sauvegarde et restauration des bases de données SQL Server Back Up and Restore of SQL Server Databases
Sauvegarder et restaurer des bases de données système (SQL Server) Back Up and Restore of System Databases (SQL Server)
Restaurer une sauvegarde de base de données à l’aide de SSMS Restore a Database Backup Using SSMS
Sauvegarder et restaurer des catalogues et des index de recherche en texte intégral Back Up and Restore Full-Text Catalogs and Indexes
Sauvegarder et restaurer des bases de données répliquées Back Up and Restore Replicated Databases
BACKUP BACKUP
Jeux de supports, familles de supports et jeux de sauvegarde 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)
Historique de sauvegarde et informations d’en-têteBackup History and Header Information

SQL ServerSQL Server * Instance managée
SQL Database *
* SQL Database
managed instance *
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

Instance managée Azure SQL DatabaseAzure SQL Database managed instance

Cette commande vous permet de restaurer une base de données complète à partir d’une sauvegarde de base de données complète (restauration complète) depuis un compte Stockage Blob Azure.This command enables you to restore an entire database from a full database backup (a complete restore) from Azure Blob Storage account.

Pour afficher d’autres commandes RESTORE prises en charge, consultez :For other supported RESTORE commands, see:

Important

Pour effectuer une restauration à partir de sauvegardes automatiques d’instance managée Azure SQL Database, consultez Restauration de base de données SQL.To restore from Azure SQL Database managed instance automatic backups, see SQL Database Restore.

SyntaxeSyntax

--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 ]
[;]

ArgumentsArguments

DATABASEDATABASE

Spécifie la base de données cible.Specifies the target database.

FROM URLFROM URL

Spécifie une ou plusieurs unités de sauvegarde placées sur les URL qui seront utilisées pour l’opération de restauration.Specifies one or more backup devices placed on URLs that will be used for the restore operation. Le format d’URL est utilisé pour la restauration des sauvegardes à partir du service de stockage Microsoft Azure.The URL format is used for restoring backups from the Microsoft Azure storage service.

Important

Pour restaurer à partir de plusieurs unités quand l’opération s’effectue depuis une URL, vous devez utiliser des jetons de signature d’accès partagé (SAP).In order to restore from multiple devices when restoring from URL, you must use Shared Access Signature (SAS) tokens. Pour obtenir des exemples de signatures d’accès partagé, consultez Sauvegarde SQL Server vers une URL et Simplifying creation of SQL Credentials with Shared Access Signature (SAS) tokens on Azure Storage with 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 Correspond à un espace réservé indiquant qu’il est possible de spécifier jusqu’à 64 unités de sauvegarde dans une liste séparée par des virgules.n Is a placeholder that indicates that up to 64 backup devices may be specified in a comma-separated list.

Remarques d'ordre généralGeneral Remarks

En tant que prérequis, vous devez créer une information d’identification avec un nom qui correspond à l’URL du compte de Stockage Blob et une Signature d’accès partagé placée en tant que secret.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. La commande RESTORE recherche les informations d’identification à l’aide de l’URL du compte de Stockage Blob afin de trouver les informations nécessaires pour lire l’appareil de sauvegarde.RESTORE command will look up credentials using the blob storage url to find the information required to read the backup device.

L’opération RESTORE est asynchrone, la restauration continue même si la connexion cliente est rompue.RESTORE operation is asynchronous - the restore continues even if client connection breaks. Si votre connexion est supprimée, vous pouvez afficher la vue sys.dm_operation_status pour vérifier l’état d’une opération de restauration (et d’une opération CREATE ou DROP sur une base de données).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).

Les options de base de données suivantes sont définies/remplacées et ne peuvent pas être modifiées ultérieurement :The following database options are set/overridden and cannot be changed later:

  • NEW_BROKER (si le service Broker n’est pas activé dans le fichier .bak)NEW_BROKER (if broker is not enabled in .bak file)
  • ENABLE_BROKER (si le service Broker n’est pas activé dans le fichier .bak)ENABLE_BROKER (if broker is not enabled in .bak file)
  • AUTO_CLOSE=OFF (si une base de données dans le fichier .bak est définie avec AUTO_CLOSE=ON)AUTO_CLOSE=OFF (if a database in .bak file has AUTO_CLOSE=ON)
  • RECOVERY FULL (si une base de données dans le fichier .bak est définie avec le mode de récupération SIMPLE ou BULK_LOGGED)RECOVERY FULL (if a database in .bak file has SIMPLE or BULK_LOGGED recovery mode)
  • Un groupe de fichiers à mémoire optimisée, appelé XTP, est ajouté au fichier source .bak s’il n’y est pas déjà.Memory optimized filegroup is added and called XTP if it was not in the source .bak file. Chaque groupe de fichiers à mémoire optimisée existant est renommé XTPAny existing memory optimized filegroup is renamed to XTP
  • Les options SINGLE_USER et RESTRICTED_USER sont remplacées par l’option MULTI_USERSINGLE_USER and RESTRICTED_USER options are converted to MULTI_USER

Limitations - Instance managée SQL DatabaseLimitations - SQL Database managed instance

Les limitations suivantes s’appliquent :These limitations apply:

  • Les fichiers .bak contenant plusieurs jeux de sauvegarde ne peuvent pas être restaurés..BAK files containing multiple backup sets cannot be restored.
  • Les fichiers .bak contenant plusieurs fichiers journaux ne peuvent pas être restaurés..BAK files containing multiple log files cannot be restored.
  • La restauration échoue si le fichier .bak contient des données FILESTREAM.Restore will fail if .bak contains FILESTREAM data.
  • Les sauvegardes contenant des bases de données avec des objets en mémoire active ne peuvent pas être restaurées en une instance gérée à usage général.Backups containing databases that have active In-memory objects cannot be restored to a General Purpose managed instance.
  • Les sauvegardes contenant des bases de données en mode lecture seule ne peuvent pas être restaurées.Backups containing databases in read-only mode cannot currently be restored. Cette limitation sera supprimée prochainement.This limitation will be removed soon.

Pour plus d’informations, consultez Instance managéeFor more information, see managed instance

Restauration d'une base de données chiffréeRestoring an Encrypted Database

Pour restaurer une base de données chiffrée, vous devez avoir accès au certificat ou à la clé asymétrique qui a servi à chiffrer la base de données.To restore a database that is encrypted, you must have access to the certificate or asymmetric key that was used to encrypt the database. Sans le certificat et la clé asymétrique, la base de données ne peut pas être restaurée.Without the certificate or asymmetric key, the database cannot be restored. En conséquence, le certificat utilisé pour chiffrer la clé de chiffrement de base de données doit être conservé tant que la sauvegarde est utile.As a result, the certificate that is used to encrypt the database encryption key must be retained as long as the backup is needed. Pour plus d'informations, consultez SQL Server Certificates and Asymmetric Keys.For more information, see SQL Server Certificates and Asymmetric Keys.

AutorisationsPermissions

L’utilisateur doit posséder les autorisations CREATE DATABASE afin de pouvoir exécuter RESTORE.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];

Les autorisations RESTORE sont attribuées aux rôles dont les informations d'appartenance sont toujours immédiatement accessibles à partir du serveur.RESTORE permissions are given to roles in which membership information is always readily available to the server. Étant donné que l’appartenance au rôle de base de données fixe ne peut être contrôlée que quand la base de données est accessible et non endommagée, ce qui n’est pas toujours le cas lorsque RESTORE est exécuté, les membres du rôle de base de données fixe db_owner ne détiennent pas d’autorisations RESTORE.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.

ExemplesExamples

Les exemples suivants restaurent une sauvegarde de base de données en copie seule à partir de l’URL, avec la création d’informations d’identification.The following examples restore a copy only database backup from URL, including the creation of a credential.

A.A. Restaurer la base de données à partir de quatre unités de sauvegardeRestore 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'

L’erreur suivante s’affiche si la base de données existe déjà :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. Restaurer la base de données spécifiée par le biais de la variableRestore 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. Suivre la progression de l’instruction restoreTrack 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'

Notes

Cette vue affichera probablement deux requêtes restore.This view will probably show two restore requests. L’une est l’instruction RESTORE d’origine envoyée par le client, et l’autre est une instruction RESTORE en arrière-plan qui s’exécute même si la connexion du client échoue.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 Instance managée
SQL Database
SQL Database
managed instance
* Analytics
Platform System (PDW) *
* Analytics
Platform System (PDW) *

 

Système de la plateforme d'analyseAnalytics Platform System

Restaure une base de données utilisateur Parallel Data WarehouseParallel Data Warehouse à partir d’une sauvegarde de base de données dans une appliance Parallel Data WarehouseParallel Data Warehouse.Restores a Parallel Data WarehouseParallel Data Warehouse user database from a database backup to a Parallel Data WarehouseParallel Data Warehouse appliance. La base de données est restaurée à partir d’une sauvegarde créée précédemment par la commande Parallel Data WarehouseParallel Data Warehouse BACKUP DATABASE - Analytics Platform System.The database is restored from a backup that was previously created by the Parallel Data WarehouseParallel Data Warehouse BACKUP DATABASE - Analytics Platform System command. Les opérations de sauvegarde et de restauration vous permettent d’établir un plan de récupération d’urgence ou de déplacer des bases de données d’une appliance vers une autre.Use the backup and restore operations to build a disaster recovery plan, or to move databases from one appliance to another.

Notes

La restauration de la base de données MASTER inclut la restauration des informations de connexion d’appliance.Restoring master includes restoring appliance login information. Pour restaurer la base de données MASTER, accédez à la page Restaurer la base de données MASTER de l’outil Configuration Manager.To restore master, use the Restore the master Database page in the Configuration Manager tool. Un administrateur ayant accès au nœud de contrôle peut effectuer cette opération.An administrator with access to the Control node can perform this operation. Pour plus d’informations sur les sauvegardes de bases de données Parallel Data WarehouseParallel Data Warehouse, consultez la section relative à la sauvegarde et à la restauration dans la Documentation du produit Parallel Data WarehouseParallel Data Warehouse product documentation.For more information about Parallel Data WarehouseParallel Data Warehouse database backups, see "Backup and Restore" in the Documentation du produit Parallel Data WarehouseParallel Data Warehouse product documentation.

SyntaxeSyntax


-- 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'
[;]

ArgumentsArguments

RESTORE DATABASE database_name Spécifie la restauration d’une base de données utilisateur dans une base de données appelée database_name.RESTORE DATABASE database_name Specifies to restore a user database to a database called database_name. La base de données restaurée peut avoir un nom différent du nom de la base de données source qui a été sauvegardée.The restored database can have a different name than the source database that was backed up. database_name ne peut pas déjà exister comme base de données dans l’appliance de destination.database_name cannot already exist as a database on the destination appliance. Pour plus d’informations sur les noms de base de données autorisés, consultez les règles de nommage d’objets dans la Documentation du produit Parallel Data WarehouseParallel Data Warehouse product documentation.For more details on permitted database names, see "Object Naming Rules" in the Documentation du produit Parallel Data WarehouseParallel Data Warehouse product documentation.

La restauration d’une base de données utilisateur a pour effet de restaurer une sauvegarde complète de base de données et éventuellement de restaurer une sauvegarde différentielle dans l’appliance.Restoring a user database restores a full database backup and then optionally restores a differential backup to the appliance. La restauration d’une base de données utilisateur inclut la restauration des utilisateurs de la base de données, ainsi que les rôles de base de données.A restore of a user database includes restoring database users, and database roles.

FROM DISK = '\\UNC_path\backup_directory' Spécifie le chemin réseau et le répertoire dans lesquels Parallel Data WarehouseParallel Data Warehouse restaurera les fichiers de sauvegarde.FROM DISK = '\\UNC_path\backup_directory' The network path and directory from which Parallel Data WarehouseParallel Data Warehouse will restore the backup files. Par exemple, 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 Spécifie le nom d’un répertoire qui contient la sauvegarde complète ou différentielle.backup_directory Specifies the name of a directory that contains the full or differential backup. Par exemple, vous pouvez effectuer une opération RESTORE HEADERONLY sur une sauvegarde complète ou différentielle.For example, you can perform a RESTORE HEADERONLY operation on a full or differential backup.

full_backup_directory Spécifie le nom d’un répertoire qui contient la sauvegarde complète.full_backup_directory Specifies the name of a directory that contains the full backup.

differential_backup_directory Spécifie le nom du répertoire qui contient la sauvegarde différentielle.differential_backup_directory Specifies the name of the directory that contains the differential backup.

  • Le chemin et le répertoire de sauvegarde doivent déjà exister et être spécifiés comme chemin UNC (Universal Naming Convention).The path and backup directory must already exist and must be specified as a fully qualified universal naming convention (UNC) path.
  • Le chemin du répertoire de sauvegarde ne peut pas être un chemin local ni un emplacement sur un nœud d’appliance Parallel Data WarehouseParallel Data Warehouse.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.
  • La longueur maximale du chemin UNC et du nom du répertoire de sauvegarde est de 200 caractères.The maximum length of the UNC path and backup directory name is 200 characters.
  • Le serveur ou l’hôte doivent être spécifiés comme une adresse IP.The server or host must be specified as an IP address.

RESTORE HEADERONLY Spécifie le renvoi des seules informations d’en-tête d’une sauvegarde de base de données utilisateur unique.RESTORE HEADERONLY Specifies to return only the header information for one user database backup. L’en-tête comprend différents champs, notamment le texte descriptif de la sauvegarde et le nom de la sauvegarde.Among other fields, the header includes the text description of the backup, and the backup name. Le nom de la sauvegarde ne doit pas nécessairement être le même que celui du répertoire où sont stockés les fichiers de sauvegarde.The backup name does not need to be the same as the name of the directory that stores the backup files.

Les résultats de RESTORE HEADERONLY sont modélisés d’après les résultats de RESTORE HEADERONLY de SQL ServerSQL Server.RESTORE HEADERONLY results are patterned after the SQL ServerSQL Server RESTORE HEADERONLY results. Les résultats comportent plus de 50 colonnes, qui ne sont pas toutes utilisées par Parallel Data WarehouseParallel Data Warehouse.The result has over 50 columns, which are not all used by Parallel Data WarehouseParallel Data Warehouse. Pour une description des colonnes présentes dans les résultats de RESTORE HEADERONLY de SQL ServerSQL Server, consultez l’article RESTORE HEADERONLY.For a description of the columns in the SQL ServerSQL Server RESTORE HEADERONLY results, see RESTORE HEADERONLY.

AutorisationsPermissions

Nécessite l’autorisation CREATE ANY DATABASE.Requires the CREATE ANY DATABASE permission.

Nécessite un compte Windows doté d’un droit d’accès et de lecture à partir du répertoire de sauvegarde.Requires a Windows account that has permission to access and read from the backup directory. Vous devez aussi stocker le nom de compte et le mot de passe Windows dans Parallel Data WarehouseParallel Data Warehouse.You must also store the Windows account name and password in Parallel Data WarehouseParallel Data Warehouse.

Gestion des erreursError Handling

La commande RESTORE DATABASE génère des erreurs dans les cas suivants :The RESTORE DATABASE command results in errors under the following conditions:

  • Le nom de la base de données à restaurer existe déjà dans l’appliance cible.The name of the database to restore already exists on the target appliance. Pour éviter cela, choisissez un nom de base de données unique ou supprimez la base de données existante avant d’exécuter la restauration.To avoid this, choose a unique database name, or drop the existing database before running the restore.
  • Le répertoire de sauvegarde contient un ensemble de fichiers de sauvegarde non valide.There is an invalid set of backup files in the backup directory.
  • Les autorisations de connexion ne sont pas suffisantes pour restaurer une base de données.The login permissions are not sufficient to restore a database.
  • Parallel Data WarehouseParallel Data Warehouse ne dispose pas des autorisations appropriées pour accéder à l’emplacement réseau où se trouvent les fichiers de sauvegarde.does not have the correct permissions to the network location where the backup files are located.
  • L’emplacement réseau du répertoire de sauvegarde n’existe pas ou n’est pas disponible.The network location for the backup directory does not exist, or is not available.
  • Les nœuds de calcul ou le nœud de contrôle n’ont pas suffisamment d’espace disque.There is insufficient disk space on the Compute nodes or Control node. Parallel Data WarehouseParallel Data Warehouse ne confirme pas que l’appliance dispose d’une quantité d’espace disque suffisante avant le lancement de la restauration.does not confirm that sufficient disk space exists on the appliance before initiating the restore. De ce fait, il est possible qu’une erreur d’espace disque insuffisant soit générée pendant l’exécution de l’instruction RESTORE DATABASE.Therefore, it is possible to generate an out-of-disk-space error while running the RESTORE DATABASE statement. Quand l’espace disque est insuffisant, Parallel Data WarehouseParallel Data Warehouse annule la restauration.When insufficient disk space occurs, Parallel Data WarehouseParallel Data Warehouse rolls back the restore.
  • L’appliance cible dans laquelle la base de données est restaurée compte moins de nœuds de calcul que l’appliance source à partir de laquelle la base de données a été sauvegardée.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.
  • La tentative de restauration de la base de données a pour cadre une transaction.The database restore is attempted from within a transaction.

Remarques d'ordre généralGeneral Remarks

Parallel Data WarehouseParallel Data Warehouse suit la bonne réalisation des restaurations de base de données.tracks the success of database restores. Avant de restaurer une sauvegarde différentielle de base de données, Parallel Data WarehouseParallel Data Warehouse vérifie que la restauration complète de base de données a abouti correctement.Before restoring a differential database backup, Parallel Data WarehouseParallel Data Warehouse verifies the full database restore finished successfully.

Après une restauration, la base de données utilisateur présente le niveau de compatibilité de base de données 120.After a restore, the user database will have database compatibility level 120. Cela vaut pour toutes les bases de données, quel que soit leur niveau de compatibilité d’origine.This is true for all databases regardless of their original compatibility level.

Restauration dans une appliance dotée d’un plus grand nombre de nœuds de calculRestoring to an appliance with a larger number of compute nodes

Exécutez DBCC SHRINKLOG (Azure SQL Data Warehouse) après avoir restauré une base de données d’une appliance vers une autre de plus grande taille, car la redistribution fera croître le journal des transactions.Run DBCC SHRINKLOG (Azure SQL Data Warehouse) after restoring a database from a smaller to larger appliance since redistribution will increase transaction log.

Le fait de restaurer une sauvegarde dans une appliance dotée d’un plus grand nombre de nœuds de calcul a pour effet d’accroître la taille de la base de données allouée de façon proportionnelle au nombre de nœuds de calcul.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.

Par exemple, si vous restaurez une base de données de 60 Go d’une appliance à 2 nœuds (30 Go par nœud) vers une appliance à 6 nœuds, Parallel Data WarehouseParallel Data Warehouse crée une base de données de 180 Go (6 nœuds à raison de 30 Go par nœud) dans l’appliance à 6 nœuds.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. Parallel Data WarehouseParallel Data Warehouse commence par restaurer la base de données sur 2 nœuds pour être en adéquation avec la configuration source, puis redistribue les données aux 6 nœuds.initially restores the database to 2 nodes to match the source configuration, and then redistributes the data to all 6 nodes.

À l’issue de la redistribution, chaque nœud de calcul contient moins de données réelles et plus d’espace libre que chaque nœud de calcul de l’appliance source de plus petite taille.After the redistribution each Compute node will contain less actual data and more free space than each Compute node on the smaller source appliance. Profitez de l’espace supplémentaire pour ajouter davantage de données à la base de données.Use the additional space to add more data to the database. Si la base de données restaurée est trop volumineuse, vous pouvez utiliser ALTER DATABASE - PDW pour réduire la taille des fichiers de base de données.If the restored database size is larger than you need, you can use ALTER DATABASE - PDW to shrink the database file sizes.

Limitations et restrictionsLimitations and restrictions

Dans le cadre de ces limitations et restrictions, l’appliance source est celle à partir de laquelle la sauvegarde de base de données a été créée, tandis que l’appliance cible est celle sur laquelle la base de données est restaurée.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.

  • À l’occasion d’une restauration de base de données, les statistiques ne sont pas régénérées automatiquement.Restoring a database does not automatically rebuild statistics.
  • Seule une instruction RESTORE DATABASE ou BACKUP DATABASE peut s’exécuter dans l’appliance à un moment donné.Only one RESTORE DATABASE or BACKUP DATABASE statement can be running on the appliance at any given time. Si plusieurs instructions de sauvegarde et de restauration sont envoyées simultanément, l’appliance les met en file d’attente et les traite l’une après l’autre.If multiple backup and restore statements are submitted concurrently, the appliance will put them into a queue and process them one at a time.
  • Vous ne pouvez restaurer une sauvegarde de base de données que dans une appliance cible Parallel Data WarehouseParallel Data Warehouse qui compte au moins le même nombre de nœuds de calcul que l’appliance source.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. L’appliance cible ne peut pas contenir moins de nœuds de calcul que l’appliance source.The target appliance cannot have fewer Compute nodes than the source appliance.
  • Une sauvegarde qui a été créée dans une appliance basée sur du matériel SQL Server 2012 PDW ne pas être restaurée dans une appliance basée sur du matériel SQL Server 2008 R2.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. Cela est vrai même si l’appliance a été acquise à l’origine avec du matériel SQL Server 2008 R2 PDW et exécute maintenant un logiciel SQL Server 2012 PDW.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.

VerrouillageLocking

Applique un verrou exclusif sur l’objet DATABASE.Takes an exclusive lock on the DATABASE object.

ExemplesExamples

A.A. Exemples simples RESTORESimple RESTORE examples

L’exemple suivant restaure une sauvegarde complète dans la base de données SalesInvoices2013.The following example restores a full backup to the SalesInvoices2013 database. Les fichiers de sauvegarde sont stockés dans le répertoire \\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full.The backup files are stored in the \\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full directory. La base de données SalesInvoices2013 ne doit pas déjà se trouver dans l’appliance cible, car cette commande échouerait avec une erreur.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. Restaurer une sauvegarde complète et différentielleRestore a full and differential backup

L’exemple suivant restaure une sauvegarde complète, puis une sauvegarde différentielle dans la base de données SalesInvoices2013.The following example restores a full, and then a differential backup to the SalesInvoices2013 database

La sauvegarde complète de la base de données est restaurée à partir de la sauvegarde complète, qui est stockée dans le répertoire \\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full.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. Si la restauration aboutit, la sauvegarde différentielle est restaurée dans la base de données SalesInvoices2013.If the restore completes successfully, the differential backup is restored to the SalesInvoices2013 database. La sauvegarde différentielle est stockée dans le répertoire \\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff.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. Restauration de l’en-tête de sauvegardeRestoring the backup header

Cet exemple restaure les informations d’en-tête pour la sauvegarde de base de données \\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full.This example restores the header information for database backup \\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full . La commande génère une ligne d’informations pour la sauvegarde Invoices2013Full.The command results in one row of information for the Invoices2013Full backup.

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

Vous pouvez vous servir des informations d’en-tête pour vérifier le contenu d’une sauvegarde ou pour vous assurer que l’appliance de restauration cible est compatible avec l’appliance de sauvegarde source avant d’entreprendre la restauration de la sauvegarde.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.

Voir aussiSee Also

BACKUP DATABASE - Analytics Platform SystemBACKUP DATABASE - Analytics Platform System