Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
SQL Server vous donne la possibilité de récupérer une base de données en dépit des erreurs détectées. 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. 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. Si une sauvegarde contient une somme de contrôle de sauvegarde, les instructions RESTORE et RESTORERESTORE VERIFYONLY peuvent vérifier la présence d’erreurs.
Remarque
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é. Pour plus d’informations, consultez Jeux de supports de sauvegarde en miroir (SQL Server).
Sommes de contrôle de sauvegarde
SQL 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. Lors de la génération d’une somme de contrôle de sauvegarde, BACKUP vérifie que les données lues dans la base de données sont cohérentes avec toute somme de contrôle ou tout indicateur de page tronquée présent dans la base de données.
L’instruction BACKUP calcule éventuellement une somme de contrôle de sauvegarde sur le flux de sauvegarde ; si des informations de somme de contrôle de page ou de page déchirée sont présentes sur une page donnée, lors de la sauvegarde de cette page, BACKUP vérifie également la somme de contrôle, l’état de page déchirée et l’ID de la page. Lors du calcul de la somme de contrôle de sauvegarde, une opération de sauvegarde n'ajoute aucune somme de contrôle aux 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.
En raison du surcoût lié à la vérification et à la génération des sommes de contrôle de sauvegarde, l’utilisation des sommes de contrôle de sauvegarde peut avoir un impact sur les performances. La charge de travail et le débit de sauvegarde peuvent être affectés. Par conséquent, l'utilisation de sommes de contrôle de sauvegarde est facultative. 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.
BACKUP ne modifie jamais la page source sur le disque ni le contenu d’une page.
Lorsque les sommes de contrôle de sauvegarde sont activées, une opération de sauvegarde effectue les étapes suivantes :
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. En l'absence d'informations, la sauvegarde ne peut pas vérifier la page. Non vérifiées, les pages sont incluses telles quelles, et leur contenu est ajouté à la somme de contrôle globale de la sauvegarde.
Si l'opération de sauvegarde rencontre une erreur de page pendant la vérification, la sauvegarde échoue.
Remarque
Pour plus d’informations sur les sommes de contrôle de page et la détection de page déchirée, consultez l’option PAGE_VERIFY de l’instruction ALTER DATABASE . Pour plus d’informations, consultez ALTER DATABASE SET Options (Transact-SQL).
Que des sommes de contrôle des pages soient présentes ou non, BACKUP génère une somme de contrôle de sauvegarde distincte pour les flux de sauvegarde. Les opérations de restauration peuvent éventuellement utiliser cette somme de contrôle pour vérifier que la sauvegarde n'est pas endommagée. 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. La somme de contrôle de sauvegarde peut être utilisée de manière facultative lors de la restauration.
Le jeu de sauvegarde est marqué comme contenant des sommes de contrôle de la sauvegarde (dans la colonne has_backup_checksums de msdb..backupset). Pour plus d’informations, consultez backupset (Transact-SQL).
Lors d’une opération de restauration, si des sommes de contrôle de sauvegarde sont présentes sur le média de sauvegarde, les instructions RESTORE et RESTORERESTORE VERIFYONLY vérifient par défaut les sommes de contrôle de sauvegarde et les sommes de contrôle de page. 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.
Réponse aux erreurs de somme de contrôle de page pendant une opération de sauvegarde ou de restauration
Par défaut, après avoir rencontré une erreur de somme de contrôle de page, une opération BACKUP ou RESTORE échoue, tandis qu’une opération RESTORERESTORE VERIFYONLY se poursuit. Toutefois, vous pouvez contrôler si une opération donnée échoue en présence d'une erreur ou continue du mieux possible.
Si une BACKUP opération se poursuit après avoir rencontré des erreurs, l’opération effectue les étapes suivantes :
Marque le jeu de sauvegarde présent sur le support de sauvegarde comme contenant des erreurs et consigne la page dans la table suspect_pages de la base de données msdb. Pour plus d’informations, consultez suspect_pages (Transact-SQL).
Consigne l'erreur dans le journal des erreurs SQL Server.
Marque le jeu de sauvegarde comme contenant ce type d’erreur (dans la colonne is_damagedde msdb.. backupset). Pour plus d’informations, consultez backupset (Transact-SQL).
Émet un message indiquant que la sauvegarde a été correctement générée, mais qu'elle contient des erreurs de page.
Tâches associées
Pour activer ou désactiver les sommes de contrôle de sauvegarde
Pour contrôler la réponse à une erreur pendant une opération de sauvegarde
Voir aussi
ALTER DATABASE (Transact-SQL)
BACKUP (Transact-SQL)
backupset (Transact-SQL)
Jeux de supports de sauvegarde en miroir (SQL Server)
RESTORE (Transact-SQL)
RESTORE VERIFYONLY (Transact-SQL)