Erreurs de support possibles pendant les opérations de sauvegarde et de restauration (SQL Server)Possible Media Errors During Backup and Restore (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

SQL Server 2019SQL Server 2019 vous donne la possibilité de récupérer une base de données en dépit des erreurs détectées.gives you the option of recovering a database despite detected errors. Un nouveau et important mécanisme de détection d'erreur est la création facultative d'une somme de contrôle de sauvegarde qui peut être créée par une opération de sauvegarde et validée par une opération de restauration.An important new error-detection mechanism is the optional creation of a backup checksum that can be created by a backup operation and validated by a restore operation. Vous pouvez déterminer si une opération recherche la présence d'erreurs et si elle s'arrête ou si elle continue en présence d'une erreur.You can control whether an operation checks for errors and whether the operation stops or continues on encountering an error. Si une sauvegarde contient une somme de contrôle de sauvegarde, les instructions RESTORE et RESTORE VERIFYONLY peuvent rechercher la présence d'erreurs.If a backup contains a backup checksum, RESTORE and RESTORE VERIFYONLY statements can check for errors.

Notes

Les sauvegardes en miroir offrent jusqu'à quatre copies (miroirs) d'un support de sauvegarde, auxquelles vous pouvez recourir pour effectuer une récupération à partir d'erreurs causées par un support endommagé.Mirrored backups provide up to four copies (mirrors) of a media set, providing alternative copies for recovering from errors caused by damaged media. Pour plus d'informations, consultez Jeux de supports de sauvegarde en miroir (SQL Server).For more information, see Mirrored Backup Media Sets (SQL Server).

Sommes de contrôle de sauvegardeBackup Checksums

SQL ServerSQL Server prend en charge trois types de sommes de contrôle : une somme de contrôle sur les pages, une somme de contrôle dans les blocs de journal et une somme de contrôle de sauvegarde.supports three types of checksums: a checksum on pages, a checksum in log blocks, and a backup checksum. Lorsqu'elle génère une somme de contrôle de sauvegarde, l'instruction BACKUP vérifie que les données lues depuis la base de données sont cohérentes avec toute indication de somme de contrôle ou de page endommagée présente dans la base de données.When generating a backup checksum, BACKUP verifies that the data read from the database is consistent with any checksum or torn-page indication that is present in the database.

L'instruction BACKUP peut aussi calculer une somme de contrôle de sauvegarde sur le flux de sauvegarde ; si des informations de page endommagée ou de somme de contrôle de page sont présentes dans une page donnée, lors de la sauvegarde de la page, l'instruction BACKUP vérifie également l'état de somme de contrôle et de page endommagée, ainsi que l'ID de la page.The BACKUP statement optionally computes a backup checksum on the backup stream; if page-checksum or torn-page information is present on a given page, when backing up the page, BACKUP also verifies the checksum and torn-page status and the page ID, of the page. Lorsqu'elle crée une somme de contrôle de sauvegarde, une opération de sauvegarde n'ajoute aucune somme de contrôle aux pages.When creating a backup checksum, a backup operation does not add any checksums to pages. Les pages sont sauvegardées telles qu'elles existent dans la base de données et ne sont pas modifiées par la sauvegarde.Pages are backed up as they exist in the database, and the pages are unmodified by backup.

En raison de la charge inhérente à la vérification et à la génération des sommes de contrôle de sauvegarde, l'utilisation de ces sommes peut avoir des répercussions sur les performances.Due to the overhead verifying and generating backup checksums, using backup checksums poses a potential performance impact. La charge de travail et le débit de sauvegarde peuvent être affectés.Both the workload and the backup throughput may be affected. Par conséquent, l'utilisation de sommes de contrôle de sauvegarde est facultative.Therefore, using backup checksums is optional. Lorsque vous décidez de générer des sommes de contrôle pendant une sauvegarde, surveillez attentivement la charge processeur induite, ainsi que l'impact sur les charges de travail simultanées du système.When deciding to generate checksums during a backup, carefully monitor the CPU overhead incurred as well as the impact on any concurrent workload on the system.

L'instruction BACKUP ne modifie jamais la page source sur le disque, ni le contenu d'une page.BACKUP never modifies the source page on disk nor the contents of a page.

Lorsque les sommes de contrôle de sauvegarde sont activées, une opération de sauvegarde effectue les étapes suivantes :When backup checksums are enabled, a backup operation performs the following steps:

  1. Avant d'écrire une page sur le support de sauvegarde, l'opération de sauvegarde vérifie les informations de niveau page : somme de contrôle de page ou détection de page endommagée, si elles existent.Before writing a page to the backup media, the backup operation verifies the page-level information (page checksum or torn page detection), if either exists. En l'absence d'informations, la sauvegarde ne peut pas vérifier la page.If neither exists, backup cannot verify the page. Non vérifiées, les pages sont incluses en l'état, et leur contenu est ajouté à la somme de contrôle de sauvegarde globale.Unverified the pages are included as is, and their contents are added to the overall backup checksum.

    Si l'opération de sauvegarde rencontre une erreur de page pendant la vérification, la sauvegarde échoue.If the backup operation encounters a page error during verification, the backup fails.

    Notes

    Pour plus d'informations sur les sommes de contrôle de page et sur la détection de page endommagée, consultez l'option PAGE_VERIFY de l'instruction ALTER DATABASE.For more information about page checksums and torn page detection, see the PAGE_VERIFY option of the ALTER DATABASE statement. Pour plus d’informations, consultez Options ALTER DATABASE SET (Transact-SQL).For more information, see ALTER DATABASE SET Options (Transact-SQL).

  2. Que la somme de contrôle de la page soit disponible ou non, BACKUP génère une somme de contrôle de sauvegarde séparée pour le flux de sauvegardes.Regardless of whether page checksums are present, BACKUP generates a separate backup checksum for the backup streams. Les opérations de restauration peuvent éventuellement utiliser cette somme de contrôle pour vérifier que la sauvegarde n'est pas endommagée.Restore operations can optionally use the backup checksum to validate that the backup is not corrupted. La somme de contrôle de sauvegarde est stockée sur le support de sauvegardes et non pas dans les pages de base de données.The backup checksum is stored on the backup media, not on the database pages. Elle peut en option être utilisée lors de la restauration.The backup checksum can optionally be used at restore time.

  3. Le jeu de sauvegarde est signalé comme contenant des sommes de contrôle de sauvegarde (dans la colonne has_backup_checksums de msdb..backupset) .The backup set is flagged as containing backup checksums (in the has_backup_checksums column of msdb..backupset). Pour plus d’informations, consultez backupset (Transact-SQL).For more information, see backupset (Transact-SQL).

Au cours d'une opération de restauration, si des sommes de contrôle de sauvegarde sont présentes sur le support de sauvegarde, par défaut, les instructions RESTORE et RESTORE VERIFYONLY vérifient les sommes de contrôle de sauvegarde et les sommes de contrôle de page.During a restore operation, if backup checksums are present on the backup media, by default, both the RESTORE and RESTORE VERIFYONLY statements verify the backup checksums and page checksums. En l'absence de somme de contrôle de sauvegarde, les deux opérations de restauration se poursuivent sans vérification ; en effet, sans somme de contrôle de sauvegarde, la restauration ne peut pas vérifier les sommes de contrôle de page de façon fiable.If there is no backup checksum, either restore operation proceeds without any verification; this is because without a backup checksum, restore cannot reliably verify page checksums.

Réponse aux erreurs de somme de contrôle de page pendant une opération de sauvegarde ou de restaurationResponse to Page Checksum Errors During a Backup or Restore Operation

Par défaut, après la rencontre d'une erreur de somme de contrôle de page, une opération de sauvegarde BACKUP ou de restauration RESTORE échoue et une opération RESTORE VERIFYONLY se poursuit.By default, after encountering a page checksum error, a BACKUP or RESTORE operation fails and a RESTORE VERIFYONLY operation continues. Toutefois, vous pouvez contrôler si une opération donnée échoue en présence d'une erreur ou continue du mieux possible.However, you can control whether a given operation fails on encountering an error or continues as best it can.

Si une opération BACKUP continue après la survenue d'erreurs, l'opération effectue les étapes suivantes :If a BACKUP operation continues after encountering errors, the operation performs the following steps:

  1. Marque le jeu de sauvegarde sur le support de sauvegarde comme contenant des erreurs et trace la page dans la table suspect_pages de la base de données msdb.Flags the backup set on the backup media as containing errors and tracks the page in the suspect_pages table in the msdb database. Pour plus d’informations, consultez suspect_pages (Transact-SQL).For more information, see suspect_pages (Transact-SQL).

  2. Consigne l'erreur dans le journal des erreurs SQL Server.Logs the error in the SQL Server error log.

  3. Marque le jeu de sauvegarde comme contenant ce type d’erreur (dans la colonne is_damaged de msdb.backupset).Marks the backup set as containing this type of error (in the is_damaged column of msdb.backupset). Pour plus d’informations, consultez backupset (Transact-SQL).For more information, see backupset (Transact-SQL).

  4. Émet un message indiquant que la sauvegarde a été correctement générée, mais qu'elle contient des erreurs de page.Issues a message that the backup was successfully generated, but contains page errors.

Tâches associéesRelated Tasks

Pour activer ou désactiver les sommes de contrôle de sauvegardeTo enable or disable backup checksums

Pour contrôler la réponse à une erreur lors d'une opération de sauvegardeTo control the response to a error during a backup operation

Voir aussiSee Also

ALTER DATABASE (Transact-SQL) ALTER DATABASE (Transact-SQL)
BACKUP (Transact-SQL) BACKUP (Transact-SQL)
backupset (Transact-SQL) backupset (Transact-SQL)
Jeux de supports de sauvegarde en miroir (SQL Server) Mirrored Backup Media Sets (SQL Server)
RESTORE (Transact-SQL) RESTORE (Transact-SQL)
RESTORE VERIFYONLY (Transact-SQL)RESTORE VERIFYONLY (Transact-SQL)