Restauration de fichiers et de groupes de fichiers renommés

Le nom d'un fichier ou d'un groupe de fichiers peut être modifié et même réutilisé ailleurs. Le moteur de base de données SQL Server assure un suivi interne des fichiers et des groupes de fichiers au moyen d'identificateurs uniques universels (GUID). Dans la plupart des situations, une opération de restauration peut reconnaître qu'un nom a été modifié et gérer la modification correctement.

Le traitement d'un nom modifié par la restauration varie selon que le fichier est restauré hors ligne ou en ligne.

  • Au cours d'une opération de restauration hors connexion, le catalogue de la base de données n'est pas accessible ainsi que la liste actuelle des groupes de fichiers. La restauration établit une correspondance entre le nom indiqué et les noms de fichiers et de groupes de fichiers dans la sauvegarde. Par conséquent, si le nom a été réutilisé depuis la création de la sauvegarde, le mauvais fichier risque d'être restauré. Cependant, la restauration supprime ultérieurement tout fichier qui n'apparaît pas dans la base de données au point de récupération. Cela entraîne une activité supplémentaire de restauration et de restauration par progression, mais garantit l'intégrité de la base de données. Ce travail supplémentaire est inévitable car la restauration ne connaît pas d'avance le point de récupération et ne peut pas prédire quels fichiers sont présents dans la base de données à un point inconnu.

  • Pendant une restauration en ligne, le catalogue de la base de données est accessible. Si le nouveau nom de fichier ou de groupe de fichiers est fourni au moment de la restauration, le moteur de base de données obtient le GUID correspondant du catalogue de la base de données et restaure le fichier ou le groupe de fichiers avec ce GUID, s'il existe dans la sauvegarde.

    Si l'ancien nom est fourni, il ne figure pas dans le catalogue. Si le GUID correspond au GUID d'un fichier ou d'un groupe de fichiers actuel dans la sauvegarde, le moteur de base de données restaure ce fichier ou ce groupe de fichiers à partir de la sauvegarde.

    Si le GUID de la sauvegarde ne correspond à aucun des fichiers ou groupes de fichiers actuels, une erreur se produit.

Traitement par la restauration d'un nom de fichier ou de groupe de fichiers réutilisé

Le nom d'un fichier ou d'un groupe de fichiers supprimé peut être réutilisé ultérieurement ; par exemple, le nom d'un ancien groupe de fichiers peut être réutilisé pour un nouveau fichier. Cette fonction est similaire au changement de nom d'un fichier ou d'un groupe de fichiers. Cependant, lors de la réutilisation d'un nom, le même nom se réfère à différents objets, à différents moments.

La restauration gère automatiquement les modifications quant au nombre et aux noms des fichiers et des groupes de fichiers. Pour simplifier les procédures de restauration, il convient d'effectuer une sauvegarde complète de base de données des fichiers et groupes de fichiers nouveaux ou modifiés, le plus tôt possible après leur modification.

Si un fichier a été renommé et que son nom a été réutilisé depuis sa dernière sauvegarde, la gestion de cette modification par le moteur de base de données varie selon que le catalogue de la base de données est accessible ou non, et que le nom y figure :

  • Si le catalogue de la base de données est accessible et si le nom y figure, le moteur de base de données détermine le GUID du fichier ou du groupe de fichiers correspondant et restaure le fichier ou le groupe de fichiers portant ce GUID à partir de la sauvegarde. Si le nom ne correspond à aucun des fichiers ou groupes de fichiers actuels, une erreur se produit.

  • Si le catalogue n'est pas accessible parce que la base de données est restaurée hors ligne, le moteur de base de données détermine l'objet à restaurer à partir des informations contenues dans la sauvegarde tel que décrit ci-dessus.

Le moteur de base de données peut vous empêcher de réutiliser un nom tant que vous n'avez pas effectué une sauvegarde du journal des transactions. Dans ce cas, une erreur s'affiche.