Restauration de fichiers (mode de restauration complète)
Cette rubrique concerne uniquement les bases de données contenant plusieurs fichiers ou groupes de fichiers en modes de restauration complète ou de récupération utilisant les journaux de transactions.
Le but d'une restauration de fichiers est de restaurer un ou plusieurs fichiers endommagés sans restaurer l'ensemble de la base de données. Toutes les éditions de SQL Server prennent en charge la restauration des fichiers lorsque la base de données est hors connexion (restauration de pages hors connexion). SQL Server 2005 Standard, SQL Server 2005 Express Edition, SQL Server 2005 Workgroup et les versions ultérieures, ne prennent en charge que la restauration hors ligne, et la restauration d'un fichier dans le groupe de fichiers primaire nécessite toujours que la base de données soit hors connexion. SQL Server 2005 Enterprise Edition et les versions ultérieures utilisent la restauration hors ligne si la base de données est déjà hors connexion.
Dans SQL Server 2005 Enterprise Edition et versions ultérieures, si la base de données est en ligne au cours d'une restauration de fichiers, elle reste en ligne. Le processus de restauration et de récupération d'un fichier lorsque la base de données est en ligne est appelé une restauration de fichiers en ligne.
Ces scénarios de restauration de fichiers sont les suivants :
Restauration de fichiers hors ligne
Dans une restauration de fichiers hors ligne, la base de données est hors connexion pendant la restauration des fichiers ou des groupes de fichiers endommagés. À la fin de la séquence de restauration, la base de données est mise en ligne.
Restauration de fichiers en ligne
Dans SQL Server 2005 Enterprise Edition et versions ultérieures, les restaurations de fichiers s'effectuent automatiquement en ligne si la base de données est en ligne. En revanche, les groupes de fichiers où un fichier est en cours de restauration sont hors connexion. Une fois que tous les fichiers d'un groupe de fichiers hors connexion sont récupérés, le groupe de fichiers est automatiquement mis en ligne. Pour plus d'informations sur les restaurations en ligne, consultez Réalisation de restauration en ligne.
Notes
Seuls les groupes de fichiers en ligne peuvent être interrogés ou mis à jour. Toute tentative d'accès à un groupe de fichiers hors connexion, y compris un groupe de fichiers contenant un fichier en cours de restauration ou de récupération, génère un message d'erreur.
Si le groupe de fichiers en cours de restauration est en lecture-écriture, une séquence ininterrompue de sauvegardes de journal doit être appliquée après la restauration de la dernière sauvegarde de données ou différentielle. Cette opération restaure le groupe de fichiers par progression jusqu'aux enregistrements de journal dans les enregistrements actifs en cours du fichier journal. Le point de récupération est généralement situé vers la fin du journal, mais pas nécessairement.
Si le groupe de fichiers en cours de restauration est en lecture seule, l'application de sauvegardes de journal est souvent inutile et ignorée. Si la sauvegarde a été réalisée après la mise en lecture seule du fichier, il s'agit de la dernière sauvegarde à restaurer. La récupération par progression s'arrête au point cible.
Restauration de fichiers ou de groupes de fichiers
Pour restaurer un ou plusieurs fichiers endommagés à partir de sauvegardes de fichiers et de sauvegardes différentielles de fichiers
Créez une sauvegarde du journal de transactions actives après défaillance.
Si vous ne pouvez pas effectuer cette opération dans le cas où le journal a été endommagé, vous devez restaurer l'intégralité de la base de données. Pour plus d'informations sur la sauvegarde d'un journal de transactions, consultez Création de sauvegardes des fichiers journaux de transactions.
Important
Lors d'une restauration de fichiers hors connexion, vous devez toujours effectuer une sauvegarde de fichier journal après défaillance avant de restaurer les fichiers. Lors d'une restauration de fichiers en ligne, vous devez toujours effectuer la sauvegarde de journal après la restauration des fichiers Cette opération est nécessaire pour permettre au fichier d'être récupéré dans un état cohérent avec le reste de la base de données.
Restaurez chaque fichier endommagé à partir de la sauvegarde la plus récente de ce fichier.
Restaurez la sauvegarde différentielle de fichiers la plus récente, si elle existe, pour chaque fichier restauré.
Restaurez dans l'ordre les sauvegardes du journal des transactions, en commençant par la sauvegarde correspondant aux fichiers restaurés les plus anciens jusqu'à la sauvegarde de fichier journal après défaillance créée à l'étape 1.
Vous devez restaurer les sauvegardes du journal des transactions créées après les sauvegardes de fichiers pour rendre à la base de données sa cohérence. Les sauvegardes du journal des transactions peuvent être rapidement restaurées par progression, car seuls les changements concernant les fichiers restaurés sont appliqués. La restauration de fichiers individuels est parfois une meilleure option que la restauration intégrale d'une base de données parce que les fichiers non endommagés ne sont pas copiés puis restaurés par progression. Cependant, la lecture de la séquence complète des sauvegardes de journaux reste nécessaire.
Récupérez la base de données.
Notes
Les sauvegardes de fichiers peuvent également servir à restaurer la base de données à un état antérieur dans le temps. Pour cela, vous devez restaurer un jeu complet de sauvegardes de fichiers, puis restaurer dans l'ordre les sauvegardes du journal des transactions pour atteindre un moment cible postérieur à la fin de la dernière sauvegarde de fichiers restaurée. Pour plus d'informations sur la récupération jusqu'à une date et heure, consultez Restauration d'une base de données vers un point dans une sauvegarde.
Pour restaurer les fichiers ou groupes de fichiers
Procédure : restaurer des fichiers et des groupes de fichiers (Transact-SQL)
Procédure : restaurer des groupes de fichiers et des fichiers (SQL Server Management Studio)
SqlRestore (SMO)
Rubriques avancées
Séquence de restauration Transact-SQL pour la restauration de fichiers hors connexion (mode de restauration complète)
Un scénario de restauration de fichiers consiste en une séquence de restauration unique qui copie, restaure par progression et récupère les données appropriées.
Le code Transact-SQL suivant illustre les options RESTORE importantes d'une séquence de restauration dans le cadre d'un scénario de restauration de fichiers. La syntaxe et les détails qui ne sont pas importants à cette fin sont omis.
L'exemple illustre une restauration hors connexion de deux fichiers secondaires, A et B, à l'aide de NORECOVERY. Ensuite, deux sauvegardes de journal sont appliquées à l'aide de NORECOVERY, suivies de la sauvegarde de fichier journal après défaillance qui est restaurée à l'aide de RECOVERY. L'exemple commence par la mise hors connexion du fichier pour une restauration de fichiers hors connexion.
--Take the file offline.
ALTER DATABASE database_name MODIFY FILE SET OFFLINE
-- Back up the currently active transaction log.
BACKUP LOG database_name
TO <tail_log_backup>
WITH NORECOVERY
GO
-- Restore the files.
RESTORE DATABASE database_name FILE=<name>
FROM <file_backup_of_file_A>
WITH NORECOVERY
RESTORE DATABASE database_name FILE=<name> ......
FROM <file_backup_of_file_B>
WITH NORECOVERY
-- Restore the log backups.
RESTORE LOG database_name FROM <log_backup>
WITH NORECOVERY
RESTORE LOG database_name FROM <log_backup>
WITH NORECOVERY
RESTORE LOG database_name FROM <tail_log_backup>
WITH RECOVERY
Exemples
Voir aussi