Restauration en ligne (SQL Server)

S’applique à :SQL Server

La restauration en ligne est prise en charge uniquement sur SQL Server Enterprise Edition. Par défaut, une restauration fragmentaire, de fichiers ou de pages est en ligne dans cette édition. Cette rubrique concerne les bases de données qui contiennent plusieurs fichiers ou groupes de fichiers et, en mode de récupération simple, seulement des groupes de fichiers en lecture seule.

Le processus de restauration des données lorsque la base de données est en ligne est appelé restauration en ligne. Une base de données est considérée en ligne lorsque le groupe de fichiers primaire est en ligne, même si un ou plusieurs de ses groupes de fichiers secondaires sont hors connexion. Quel que soit le mode de récupération, vous pouvez restaurer un fichier qui est hors connexion quand la base de données est en ligne. En mode de restauration complète, vous pouvez aussi restaurer les pages quand la base de données est en ligne.

Note

La restauration en ligne se produit automatiquement sur SQL Server Enterprise et ne nécessite aucune action utilisateur. Si vous ne souhaitez pas utiliser la restauration en ligne, mettez une base de données hors connexion avant de démarrer une restauration. Pour plus d'informations, consultez Mise hors connexion d'une base de données ou d'un fichier, plus loin dans cette rubrique.

Au cours d'une restauration de fichiers en ligne, les fichiers en cours de restauration et leurs groupes de fichiers sont hors connexion. Si ces fichiers sont en ligne au démarrage d'une restauration en ligne, la première instruction de restauration met le groupe de fichiers du fichier hors connexion. À l'inverse, au cours d'une restauration de pages en ligne, seule la page est hors connexion.

Chaque scénario de restauration en ligne comprend les étapes de base suivantes :

  1. Restaurer les données.

  2. Effectuer la dernière restauration du journal à l'aide de WITH RECOVERY. Cette opération met les données restaurées en ligne.

Il arrive parfois qu'une transaction non validée ne puisse être restaurée parce que les données requises par la restauration sont hors connexion au démarrage. Dans ce cas, la transaction est différée. Pour plus d’informations, consultez Transactions différées (SQL Server).

Note

Si la base de données utilise le mode de récupération utilisant les journaux de transactions, il est recommandé de basculer en mode de restauration complète avant de démarrer une restauration en ligne. Pour plus d’informations, consultez Afficher ou modifier le mode de récupération d’une base de données (SQL Server).

Important

Si les sauvegardes ont été effectuées sur plusieurs unités reliées au serveur, un nombre identique d'unités doit être disponible pendant la restauration en ligne.

Attention

Lorsque vous utilisez des sauvegardes de captures instantanées, vous ne pouvez pas effectuer de restauration en ligne. Pour plus d’informations sur la sauvegarde de captures instantanées, consultez Sauvegarde d’instantanés de fichiers pour les fichiers de base de données dans Azure.

Sauvegardes de journal pour une restauration en ligne

Pour une restauration en ligne, le point de récupération est le point où les données en cours de restauration ont été mises hors connexion ou mises en lecture seule pour la dernière fois. Les sauvegardes des journaux de transactions jusqu'à ce point de récupération compris doivent toutes être disponibles. Généralement, une sauvegarde de fichier journal est requise après ce point pour couvrir le point de récupération du fichier. La seule exception concerne une restauration en ligne de données en lecture seule à partir une sauvegarde de données effectuée après la mise en lecture seule des données. Dans ce cas, vous n'avez pas besoin d'une sauvegarde de journal.

En général, vous pouvez effectuer des sauvegardes des journaux de transactions pendant que la base de données est en ligne, même après le début de la séquence de restauration. Le moment de la dernière sauvegarde de journal dépend des propriétés du fichier en cours de restauration :

  • Pour un fichier en lecture seule en ligne, vous pouvez effectuer la dernière sauvegarde de journal nécessaire à la récupération avant ou pendant la première séquence de restauration. Un groupe de fichiers en lecture seule peut se passer de sauvegardes de journal si une sauvegarde de données ou différentielle a été effectuée après la mise en lecture seule du groupe de fichiers.

    Note

    Les informations précédentes s'appliquent aussi à chaque fichier hors connexion.

  • Un cas particulier concerne un fichier en lecture-écriture qui était en ligne lorsque la première instruction de restauration a été envoyée, et qui a ensuite été mis automatiquement hors ligne par cette instruction de restauration. Dans ce cas, vous devez effectuer une sauvegarde de journal pendant la première séquence de restauration (la séquence d’une ou plusieurs instructions RESTORE qui restaurent, restaurent par progression et récupèrent les données). En règle générale, cette sauvegarde de journal doit avoir lieu après la restauration de toutes les sauvegardes complètes et avant la récupération des données. Toutefois, dans le cas de plusieurs sauvegardes de fichiers pour un groupe de fichiers spécifique, le point minimal de la sauvegarde de journal est le moment après la mise hors connexion du groupe de fichiers. Cette sauvegarde de journal après restauration des données capture le point où le fichier a été mis hors connexion. La sauvegarde du journal post-restauration des données est nécessaire, car le moteur de base de données SQL Server ne peut pas utiliser le journal en ligne pour une restauration en ligne.

    Note

    D'une autre manière, vous pouvez mettre manuellement le fichier hors connexion avant la séquence de restauration. Pour plus d'informations, consultez « Mise hors connexion d'une base de données ou d'un fichier », plus loin dans cette rubrique.

Mise hors connexion d'une base de données ou d'un fichier

Si vous ne souhaitez pas utiliser la restauration en ligne, mettez la base de données hors connexion avant de démarrer la séquence de restauration au moyen de l'une des méthodes suivantes :

  • Quel que soit le mode de récupération, vous pouvez mettre la base de données hors connexion à l'aide de l'instruction ALTER DATABASE suivante :

    ALTER DATABASE nom_base_de_données SET OFFLINE

  • En mode de restauration complète, vous pouvez aussi forcer la mise hors connexion d'une restauration de pages ou de fichiers à l'aide de l'instruction suivante BACKUP LOG pour mettre la base de données dans l'état de restauration :

    BACKUP LOG nom_base_de_données WITH NORECOVERY

Tant qu'une base de données demeure hors connexion, toutes les restaurations sont des restaurations hors connexion.

Examples

Note

La syntaxe pour une séquence de restauration en ligne est la même que pour une séquence de restauration hors connexion.

Tâches associées

Voir aussi

Restaurations de fichiers (mode de restauration complète)
Restaurations de fichiers (mode de récupération simple)
Restaurer des pages (SQL Server)
Restaurations fragmentaires (SQL Server)
Vue d'ensemble de la restauration et de la récupération (SQL Server)