Restaurations fragmentaires (SQL Server)Piecemeal Restores (SQL Server)

S’APPLIQUE À : ouiSQL Server nonAzure SQL Database nonAzure Synapse Analytics (SQL DW) nonParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Cette rubrique concerne les bases de données de l’édition Entreprise de SQL ServerSQL Server (restauration en ligne) ou de l’édition Standard (restauration hors connexion) qui contiennent plusieurs fichiers ou groupes de fichiers et, dans le mode simple, seulement des groupes de fichiers en lecture seule.This topic is relevant for databases in the Enterprise edition of SQL ServerSQL Server (online restore) or Standard edition (offline restore) that contain multiple files or filegroups; and, under the simple model, only for read-only filegroups.

Pour plus d’informations sur les restaurations fragmentaires et les tables optimisées en mémoire, consultez Restauration fragmentaire de bases de données avec des tables optimisées en mémoire.For information about piecemeal restore and memory-optimized tables, see Piecemeal Restore of Databases With Memory-Optimized Tables.

Unerestauration fragmentaire autorise la restauration et la récupération par étapes des bases de données contenant plusieurs groupes de fichiers.Piecemeal restore allows databases that contain multiple filegroups to be restored and recovered in stages. La restauration fragmentaire implique une suite de séquences de restauration, en commençant par le groupe de fichiers primaire et, dans certains cas, un ou plusieurs groupes de fichiers secondaires.Piecemeal restore involves a series of restore sequences, starting with the primary filegroup and, in some cases, one or more secondary filegroups. La restauration fragmentaire maintient des contrôles pour garantir la cohérence de la base de données au final.Piecemeal restore maintains checks to ensure that the database will be consistent in the end. À l'issue de la séquence de restauration, les fichiers récupérés (s'ils sont valides et cohérents avec la base de données) peuvent être mis en ligne directement.After the restore sequence is completed, recovered files, if they are valid and consistent with the database, can be brought online directly.

La restauration fragmentaire fonctionne dans tous les modes de récupération, mais elle offre davantage de souplesse dans le mode de restauration complète et dans le mode de récupération utilisant les journaux de transactions que dans le mode de récupération simple.Piecemeal restore works with all recovery models, but is more flexible for the full and bulk-logged models than for the simple model.

Chaque restauration fragmentaire commence par une séquence de restauration initiale appelée séquence de restauration partielle.Every piecemeal restore starts with an initial restore sequence called the partial-restore sequence. Au minimum, la séquence de restauration partielle restaure et récupère le groupe de fichiers primaire et, en mode de récupération simple, tous les groupes de fichiers qui sont en lecture/écriture.Minimally, the partial-restore sequence restores and recovers the primary filegroup and, under the simple recovery model, all read/write filegroups. Pendant la séquence de restauration fragmentaire, la totalité de la base de données doit se trouver hors connexion.During the piecemeal-restore sequence, the whole database must go offline. Après l'étape initiale, la base de données est en ligne et les groupes de fichiers restaurés sont disponibles.Thereafter, the database is online and restored filegroups are available. Toutefois, les groupes de fichiers non restaurés restent hors connexion et inaccessibles.However, any unrestored filegroups remain offline and are not accessible. Les groupes de fichiers hors connexion peuvent cependant être restaurés et mis en ligne ultérieurement via une restauration de fichiers.Any offline filegroups, however, can be restored and brought online later by a file restore.

Sans tenir compte du mode de récupération utilisé par la base de données, la séquence de restauration partielle commence par une instruction RESTORE DATABASE qui restaure une sauvegarde complète et spécifie l'option PARTIAL.Regardless of the recovery model that is used by the database, the partial-restore sequence starts with a RESTORE DATABASE statement that restores a full backup and specifies the PARTIAL option. Une nouvelle restauration fragmentaire commence toujours par cette option ; par conséquent, il vous suffit de spécifier PARTIAL une seule fois dans l'instruction initiale de la séquence de restauration partielle.The PARTIAL option always starts a new piecemeal restore; therefore, you must specify PARTIAL only one time in the initial statement of the partial-restore sequence. Lorsque la séquence de restauration partielle est terminée et que la base de données est mise en ligne, les fichiers restants sont dans l'état « récupération en attente » du fait que la récupération des fichiers est reportée.When the partial restore sequence finishes and the database is brought online, the state of the remaining files becomes "recovery pending" because their recovery has been postponed.

Par la suite, une restauration fragmentaire comprend généralement une ou plusieurs séquences de restauration appelées séquences de restauration de groupe de fichiers.Subsequently, a piecemeal restore typically includes one or more restore sequences, which are called filegroup-restore sequences. Vous pouvez retarder l'exécution d'une séquence de restauration de groupe de fichiers aussi longtemps que vous le souhaitez.You can wait to perform a specific filegroup-restore sequence for as long as you want. Chaque séquence de restauration de groupe de fichiers restaure et récupère un ou plusieurs groupes de fichiers hors connexion jusqu'à un point cohérent avec la base de données.Each filegroup-restore sequence restores and recovers one or more offline filegroups to a point consistent with the database. La fréquence et le nombre de séquences de restauration de groupe de fichiers dépendent de votre objectif de récupération, du nombre de groupes de fichiers hors connexion que vous souhaitez restaurer et du nombre d'entre eux que vous restaurez par séquence de restauration de groupe de fichiers.The timing and number of filegroup-restore sequences depends on your recovery goal, the number of offline filegroups you want to restore, and on how many of them you restore per filegroup-restore sequence.

Les conditions requises qui correspondent précisément à l'exécution d'une restauration fragmentaire dépendent du mode de récupération de la base de données.The exact requirements for performing a piecemeal restore depend on the recovery model of the database. Pour plus d'informations, consultez les sections « Restauration fragmentaire en mode de récupération simple » et « Restauration fragmentaire en mode de récupération complète » plus loin dans cette rubrique.For more information, see "Piecemeal Restore Under the Simple Recovery Model" and "Piecemeal Restore Under the Full Recovery Model," later in this topic.

Scénarios de restauration fragmentairePiecemeal Restore Scenarios

Toutes les éditions de SQL ServerSQL Server prennent en charge les restaurations fragmentaires hors connexion.All editions of SQL ServerSQL Server support offline piecemeal restores. Dans l'édition Enterprise, les restaurations fragmentaires peuvent être en ligne ou hors connexion.In the Enterprise edition, a piecemeal restore can be either online or offline. L'impact des restaurations en ligne et hors connexion est le suivant :The implications of offline and online piecemeal restores are as follows:

  • Scénario de restauration fragmentaire hors connexionOffline piecemeal restore scenario

    Dans une restauration fragmentaire hors ligne, la base de données est en ligne après la séquence de restauration partielle.In an offline piecemeal restore, the database is online after the partial-restore sequence. Les groupes de fichiers qui n'ont pas encore été restaurés demeurent hors connexion mais si cela est nécessaire, ils peuvent être restaurés une fois la base de données mise hors connexion.Filegroups that have not yet been restored remain offline, but they can be restored as you need them after taking the database offline.

  • Scénario de restauration fragmentaire en ligneOnline piecemeal restore scenario

    En cas de restauration fragmentaire en ligne, au terme de la séquence de restauration partielle, la base de données est en ligne et le groupe de fichiers primaire ainsi que tout groupe de fichiers secondaire récupéré sont mis à votre disposition.In an online piecemeal restore, after the partial-restore sequence, the database is online, and the primary filegroup and any recovered secondary filegroups are available. Les groupes de fichiers qui ne sont pas encore restaurés restent hors ligne, mais ils peuvent être restaurés le cas échéant alors que la base de données reste en ligne.Filegroups that have not yet been restored remain offline, but they can be restored as needed while the database remains online.

    Les restaurations fragmentaires en ligne peuvent contenir des transactions différées.Online piecemeal restores can involve deferred transactions. Lorsque la restauration ne concerne qu'un sous-ensemble de groupes de fichiers, les transactions de la base de données qui dépendent des groupes de fichiers en ligne peuvent être différées.When only a subset of filegroups has been restored, transactions in the database that depend on online filegroups might become deferred. Ceci est normal car l'ensemble de la base de données doit être cohérent.This is typical, because the whole database must be consistent. Pour plus d’informations, consultez Transactions différées (SQL Server).For more information, see Deferred Transactions (SQL Server).

  • OLTP en mémoire SQL ServerSQL Server In-Memory OLTP scénario de restauration fragmentairepiecemeal restore scenario

    Pour plus d’informations sur les restaurations fragmentaires des bases de données de l’OLTP en mémoire, consultez Sauvegarde et restauration fragmentaire de bases de données avec des tables optimisées en mémoire.For information on Piecemeal Restores of In-Memory OLTP databases see Piecemeal Backup and Restore of Databases With Memory-Optimized Tables.

RestrictionsRestrictions

Si une séquence de restauration partielle exclut tout groupe de fichiers FILESTREAM , la limite de restauration dans le temps n’est pas prise en charge.If a partial restore sequence excludes any FILESTREAM filegroup, point-in-time restore is not supported. Vous pouvez forcer la séquence de restauration à continuer.You can force the restore sequence to continue. Cependant, les groupes de fichiers FILESTREAM omis de l'instruction RESTORE ne peuvent jamais être restaurés.However the FILESTREAM filegroups that are omitted from your RESTORE statement can never be restored. Pour forcer une limite de restauration dans le temps, spécifiez l'option CONTINUE_AFTER_ERROR avec l'option STOPAT, STOPATMARK ou STOPBEFOREMARKx, que vous devez également spécifier dans vos instructions RESTORE LOG suivantes.To force a point-in-time restore, specify the CONTINUE_AFTER_ERROR option together with the STOPAT, STOPATMARK, or STOPBEFOREMARK option, which you must also specify in your subsequent RESTORE LOG statements. Si vous spécifiez l'option CONTINUE_AFTER_ERROR, la séquence de restauration partielle réussit et le groupe de fichiers FILESTREAM devient irrécupérable.If you specify CONTINUE_AFTER_ERROR, the partial restore sequence succeeds and the FILESTREAM filegroup becomes unrecoverable.

Restauration fragmentaire en mode de récupération simplePiecemeal Restore Under the Simple Recovery Model

En mode de récupération simple, la séquence de restauration fragmentaire doit commencer par une sauvegarde de base de données complète ou partielle.Under the simple recovery model, the piecemeal restore sequence must start with a full database or partial backup. Puis, si la sauvegarde restaurée est une base différentielle, restaurez ensuite la dernière sauvegarde différentielle.Then, if the restored backup is a differential base, restore the latest differential backup next.

Au cours de la première séquence de restauration partielle, si vous restaurez uniquement un sous-ensemble de groupes de fichiers en lecture/écriture, les groupes de fichiers non restaurés deviennent obsolètes lorsque vous récupérez la base de données restaurée partiellement.During the first partial restore sequence, if you restore only a subset of read/write filegroups, any unrestored filegroups become defunct when you recover the partially restored database. L'omission d'un groupe de fichiers en lecture/écriture dans une séquence de restauration partielle convient uniquement dans les cas suivants :Omitting a read/write filegroup from the partial-restore sequence is appropriate only in the following cases:

  • Vous prévoyez que les groupes de fichiers non restaurés soient obsolètes.You intend for the unrestored filegroups to become defunct.

  • La séquence de restauration parviendra au point de récupération auquel chaque groupe de fichiers non restauré est passé en lecture seule, supprimé ou obsolète (lors d'une restauration antérieure dans la séquence de restauration partielle).The restore sequence will arrive at a recovery point at which each unrestored filegroup has become read-only, dropped, or defunct (during a previous restore in the partial-restore sequence).

  • La sauvegarde complète a eu lieu lorsque la base de données utilisait le mode de récupération simple, mais le point de récupération utilisait le mode de récupération complète.The full backup was taken while the database was using the simple recovery model, but the recovery point is at a time when the database is using the full recovery model. Pour plus d'informations, consultez « Exécution d'une restauration fragmentaire d'une base de données dont le mode de récupération est passé du mode de récupération complète au mode de récupération simple », plus loin dans cette rubrique.For more information, see "Performing a Piecemeal Restore of a Database Whose Recovery Model Has Been Switched from Simple to Full," later in this topic.

Conditions requises pour la restauration fragmentaire en mode de récupération simpleRequirements for Piecemeal Restore Under the Simple Recovery Model

En mode de récupération simple, l'étape initiale restaure et récupère le groupe de fichiers primaire et tous les groupes de fichiers secondaires en lecture/écriture.Under the simple recovery model, the initial stage restores and recovers the primary filegroup and all read/write secondary filegroups. Au terme de l'étape initiale, les fichiers récupérés (s'ils sont valides et cohérents avec la base de données) peuvent être mis en ligne directement.After the initial stage is completed, recovered files, if they are valid and consistent with the database, can be brought online directly.

Ensuite, les groupes de fichiers en lecture seule peuvent être restaurés en une ou plusieurs étapes supplémentaires.Thereafter, read-only filegroups can be restored in one or more additional stages.

La restauration fragmentaire est disponible pour un groupe de fichiers secondaires en lecture seule uniquement si les conditions suivantes sont vérifiées :Piecemeal restore is available for a read-only secondary filegroup only if the following are true:

  • était en lecture seule lors de sa sauvegarde ;Was read-only when backed up.

  • est resté en lecture seule (et logiquement cohérent avec le groupe de fichiers primaire).Has remained read-only (keeping it logically consistent with the primary filegroup).

Pour effectuer une restauration fragmentaire, observez les instructions suivantes :To perform a piecemeal restore, the following guidelines must be followed:

  • Un ensemble complet de sauvegardes pour la restauration fragmentaire d'une base de données utilisant le mode de récupération simple doit contenir les éléments suivants :A complete set of backups for the piecemeal restore of a simple recovery model database must contain the following:

    • Une sauvegarde partielle ou complète de base de données contenant le groupe de fichiers primaire et tous les groupes de fichiers qui étaient en lecture/écriture au moment de la sauvegarde.A partial or full database backup that contains the primary filegroup and all filegroups that were read/write at the time of the backup.

    • Une sauvegarde de chaque fichier en lecture seule.A backup of each read-only file.

  • Pour que la sauvegarde d'un fichier en lecture seule soit cohérente avec le groupe de fichiers primaire, le groupe de fichiers secondaire doit se trouver en lecture seule depuis le moment où il a été sauvegardé jusqu'à l'achèvement de la sauvegarde contenant le groupe de fichiers primaire.For the backup of a read-only file to be consistent with the primary filegroup, the secondary filegroup must have been read-only from when it was backed up until the backup that contains the primary filegroup was completed. Vous pouvez utiliser des sauvegardes différentielles de fichiers, sous réserve qu'elles aient été réalisées une fois le groupe de fichiers devenu accessible en lecture seule.You can use differential file backups, if they were taken after the filegroup became read-only.

Procédure de restauration fragmentaire (mode de récupération simple)Piecemeal Restore Stages (Simple Recovery Model)

Le scénario de restauration fragmentaire comprend les étapes suivantes :The piecemeal restore scenario involves the following stages:

  • Étape initiale (restaurer et récupérer le groupe de fichiers primaire et tous les groupes de fichiers en lecture/écriture)Initial stage (restore and recover the primary filegroup and all read/write filegroups)

    L'étape initiale effectue une restauration partielle.The initial stage performs a partial restore. La séquence de restauration partielle restaure le groupe de fichiers primaire, tous les groupes de fichiers secondaires en lecture/écriture et, éventuellement, certains groupes de fichiers en lecture seule.The partial restore sequence restores the primary filegroup, all read/write secondary filegroups, and (optionally) some of the read-only filegroups. Pendant l'étape initiale, la totalité de la base de données doit se trouver hors connexion.During the initial stage, the whole database must go offline. Après l'étape initiale, la base de données est en ligne et les groupes de fichiers restaurés sont disponibles.After the initial stage, the database is online, and restored filegroups are available. Toutefois, tous les groupes de fichiers en lecture seule qui n'ont pas encore été restaurés demeurent hors connexion.However, any read-only filegroups that have not yet been restored, remain offline.

    La première instruction RESTORE de l'étape initiale doit :The first RESTORE statement in the initial stage must do the following:

    • utiliser une sauvegarde partielle ou complète de base de données contenant le groupe de fichiers primaire et tous les groupes de fichiers qui étaient en lecture/écriture au moment de la sauvegarde ;Use a partial or full database backup that contains the primary filegroup and all filegroups that were read/write at the time of the backup. il est courant de commencer une séquence de restauration partielle en restaurant une sauvegarde partielle ;It is common to start a partial restore sequence by restoring a partial backup.

    • spécifier l'option PARTIAL qui indique le démarrage d'une restauration fragmentaire ;Specify the PARTIAL option, which indicates the start of a piecemeal restore.

    Notes

    L'option PARTIAL effectue des contrôles de sécurité qui garantissent l'adéquation de la base de données obtenue à son usage en production.The PARTIAL option performs safety checks that ensure that the resulting database is suited for use as a production database.

    • spécifier l'option READ_WRITE_FILEGROUPS si la sauvegarde est une sauvegarde complète de base de données.Specify the READ_WRITE_FILEGROUPS option if the backup is a full database backup.
  • Si la base de données est en ligne, vous pouvez faire appel à une ou plusieurs restaurations de fichiers en ligne pour restaurer et récupérer les fichiers en lecture seule hors connexion qui étaient dans cet état au moment de la sauvegarde.While the database is online, you can use one or more online file restores to restore and recover offline read-only files that were read-only at the time of backup. La fréquence des restaurations de fichiers en ligne dépend du moment où vous souhaitez que les données soient en ligne.The timing of the online file restores depends on when you want to have the data online.

    La nécessité de restaurer des données dans un fichier dépend des éléments suivants :Whether you must restore data to a file depends on the following:

    • Les fichiers en lecture seule valides et cohérents avec la base de données peuvent être mis en ligne directement s'ils sont récupérés sans restaurer les données.Valid read-only files that are consistent with the database can be brought online directly by recovering them without restoring any data.

    • Les fichiers endommagés ou incohérents avec la base de données doivent être restaurés avant d'être récupérés.Files that are damaged or inconsistent with the database must be restored before they are recovered.

ExemplesExamples

Restauration fragmentaire en mode de récupération complètePiecemeal Restore Under the Full Recovery Model

En mode de récupération complète ou de récupération utilisant les journaux de transactions, une restauration fragmentaire est disponible pour les bases de données qui contiennent plusieurs groupes de fichiers et vous pouvez restaurer une base de données à n'importe quel point dans le temps.Under the full recovery model or bulk-logged recovery model, piecemeal restore is available for any database that contains multiple filegroups and you can restore a database to any point in time. Les séquences de restauration d'une restauration fragmentaire se déroulent comme suit :The restore sequences of a piecemeal restore behave as follows:

  • séquence de restauration partiellePartial-restore sequence

    La séquence de restauration partielle restaure le groupe de fichiers primaire et éventuellement certains des groupes de fichiers secondaires.The partial restore sequence restores the primary filegroup and, optionally, some of the secondary filegroups.

    La première instruction RESTORE DATABASE doit :The first RESTORE DATABASE statement must do the following:

    • spécifier l'option PARTIAL ;Specify the PARTIAL option. celle-ci indique le début d'une restauration fragmentaire.This indicates the start of a piecemeal restore.

    • utiliser n'importe quelle sauvegarde de base de données complète contenant le groupe de fichiers primaire.Use any full database backup that contains the primary filegroup. Il est conseillé de commencer une séquence de restauration partielle en restaurant une sauvegarde partielle.The common practice is to start a partial restore sequence by restoring a partial backup.

    • Pour restaurer à un point précis dans le temps, vous devez spécifier l'heure dans la séquence de restauration partielle.To restore to a specific point in time, you must specify the time in the partial restore sequence. Chaque étape successive de la séquence de restauration doit spécifier le même point dans le temps.Every successive step of the restore sequence must specify the same point in time.

  • Les séquences de restauration de groupe de fichiers mettent en ligne les groupes de fichiers supplémentaires jusqu'à un point cohérent avec la base de données.Filegroup-restore sequences bring additional filegroups online to a point consistent with the database.

    Dans l'édition Enterprise, tout groupe de fichiers secondaire hors connexion peut être restauré et récupéré tant que la base de données reste en ligne.In the Enterprise edition, any offline secondary filegroup can be restored and recovered while the database remains online. Un fichier en lecture seule spécifique ne doit être restauré que s'il est endommagé ou s'il est incohérent avec la base de données.If a specific read-only file is undamaged and consistent with the database, the file does not have to be restored. Pour plus d’informations, consultez Récupérer une base de données sans restauration des données (Transact-SQL).For more information, see Recover a Database Without Restoring Data (Transact-SQL).

Application des sauvegardes de journauxApplying Log Backups

Si un groupe de fichiers est en lecture seule avant la création de la sauvegarde de fichiers, l'application des sauvegardes de journaux au groupe de fichiers n'est pas nécessaire et n'est pas effectuée par la restauration de fichiers.If a read-only filegroup has been read-only since before the file backup was created, applying log backups to the filegroup is unnecessary and is skipped by file restore. Si le groupe de fichiers est en lecture/écriture, une séquence non rompue de sauvegardes de journaux doit être appliquée à la dernière restauration complète ou différentielle pour restaurer par progression le groupe de fichiers jusqu'au fichier journal actuel.If the filegroup is read/write, an unbroken chain of log backups must be applied to the last full or differential restore to bring the filegroup forward to the current log file. 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).

ExemplesExamples

Exécution d'une restauration fragmentaire d'une base de données dont le mode de récupération est passé du mode de récupération complète au mode de récupération simplePerforming a Piecemeal Restore of a Database Whose Recovery Model Has Been Switched from Simple to Full

Vous pouvez effectuer une restauration fragmentaire d'une base de données qui est passée du mode de récupération simple au mode de récupération complète depuis la sauvegarde de base de données complète ou la sauvegarde partielle.You can perform a piecemeal restore of a database that has been switched from the simple recovery model to the full recovery model since the full partial or database backup. Exemple : considérons une base de données sur laquelle vous effectuez les opérations ci-après :For example, consider a database for which you take the following steps:

  1. Créez une sauvegarde partielle (sauvegarde_1) d'une base de données dans le mode simple.Create a partial backup (backup_1) of a simple-model database.

  2. Après quelque temps, changez le mode de récupération en mode complet.After some time, change the recovery model to full.

  3. Créez une sauvegarde différentielle.Create a differential backup.

  4. Commencez par effectuer des sauvegardes des journaux.Start taking log backups.

Par la suite, la séquence suivante est correcte :Thereafter, the following sequence is valid:

  1. Restauration partielle qui omet certains groupes de fichiers secondaires.A partial restore that omits some secondary filegroups.

  2. Restauration différentielle suivie d'autres restaurations nécessaires.A differential restore followed by any other needed restores.

  3. Ultérieurement, restauration de fichiers d'un groupe de fichiers secondaire en lecture/écriture avec l'option WITH NORECOVERY à partir de la sauvegarde partielle backup_1.Later, a file restore of a read/write secondary filegroup WITH NORECOVERY from the backup_1 partial backup

  4. Sauvegarde différentielle suivie d'autres sauvegardes restaurées dans la séquence de restauration fragmentaire d'origine pour restaurer les données jusqu'au point de récupération d'origine.The differential backup followed by any other backups that were restored in the original piecemeal restore sequence to restore the data up to the original recovery point.

Voir aussiSee Also

Appliquer les sauvegardes du journal de transactions (SQL Server) Apply Transaction Log Backups (SQL Server)
RESTORE (Transact-SQL) RESTORE (Transact-SQL)
Restaurer une base de données SQL Server jusqu’à une limite dans le temps (mode de récupération complète) Restore a SQL Server Database to a Point in Time (Full Recovery Model)
Vue d’ensemble de la restauration et de la récupération (SQL Server) Restore and Recovery Overview (SQL Server)
Planifier et exécuter des séquences de restauration (mode de récupération complète) Plan and Perform Restore Sequences (Full Recovery Model)
Vue d'ensemble de la restauration et de la récupération (SQL Server)Restore and Recovery Overview (SQL Server)