Partager via


Restauration en ligne (SQL Server)

La restauration en ligne est prise en charge uniquement sur SQL Server Enterprise Edition. Dans cette édition, un fichier, une page ou une restauration fragmentaire est en ligne par défaut. Cette rubrique s’applique aux bases de données qui contiennent plusieurs fichiers ou groupes de fichiers (et, sous le modèle de récupération simple, uniquement pour les groupes de fichiers en lecture seule).

La restauration des données pendant que la base de données est en ligne est appelée restauration en ligne. Une base de données est considérée comme étant en ligne chaque fois que le groupe de fichiers principal est en ligne, même si un ou plusieurs de ses groupes de fichiers secondaires sont hors connexion. Sous n’importe quel modèle de récupération, vous pouvez restaurer un fichier hors connexion pendant que la base de données est en ligne. Sous le modèle de récupération complète, vous pouvez également restaurer des pages pendant que la base de données est en ligne.

Remarque

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, vous pouvez mettre une base de données hors connexion avant de commencer une restauration. Pour plus d’informations, consultez Prise en mode hors connexion d’une base de données ou d’un fichier, plus loin dans cette rubrique.

Lors d’une restauration de fichiers en ligne, tout fichier en cours de restauration et son groupe de fichiers sont hors connexion. Si l’un de ces fichiers est en ligne lorsqu’une restauration en ligne démarre, la première instruction de restauration prend le groupe de fichiers du fichier hors connexion. En revanche, lors d’une restauration de page en ligne, seule la page est hors connexion.

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

  1. Restaurez les données.

  2. Restaurez le journal à l’aide de WITH RECOVERY pour la dernière restauration du journal. Cela apporte les données restaurées en ligne.

Parfois, une transaction non validée ne peut pas être restaurée, car les données requises par la restauration sont hors connexion pendant le démarrage. Dans ce cas, la transaction est différée. Pour plus d’informations, consultez Transactions différées (SQL Server).

Remarque

Si la base de données utilise actuellement le modèle de récupération journalisé en bloc, nous vous recommandons de passer au modèle de récupération complète avant de commencer une restauration en ligne. Pour plus d’informations, consultez Afficher ou modifier le modèle de récupération d’une base de données (SQL Server).

Important

Si les sauvegardes ont été effectuées avec plusieurs appareils attachés au serveur, le même nombre d’appareils doit être disponible lors d’une restauration en ligne.

Sauvegardes de journaux de transactions pour la restauration en ligne

Dans une restauration en ligne, le point de récupération est le point où les données restaurées ont été mises hors connexion ou rendues en lecture seule pour la dernière fois. Les sauvegardes du journal des transactions, jusqu'à et y compris ce point de récupération, doivent toutes être disponibles. En règle générale, une sauvegarde de journal est requise après ce point pour couvrir le point de récupération du fichier. La seule exception est lors d’une restauration en ligne de données en lecture seule à partir d’une sauvegarde de données effectuée après que les données sont devenues en lecture seule. Dans ce cas, vous n’avez pas besoin d’avoir une sauvegarde de journal.

En règle générale, vous pouvez effectuer des sauvegardes de journal des 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 minutage de la dernière sauvegarde du 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 du journal requise pour la récupération avant ou pendant la première séquence de restauration. Un groupe de fichiers en lecture seule peut ne pas nécessiter de sauvegardes de journaux si une sauvegarde différentielle ou de données a été effectuée après que le groupe de fichiers est devenu en lecture seule.

    Remarque

    Les informations précédentes s’appliquent également à chaque fichier hors connexion.

  • Un cas spécial existe pour un fichier en lecture/écriture qui était en ligne lorsque la première instruction de restauration a été émise et qui a ensuite été automatiquement mise hors connexion 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, font avancer et récupèrent des données). En règle générale, cette sauvegarde de journal doit se produire après avoir restauré toutes les sauvegardes complètes et avant de récupérer les données. Toutefois, s’il existe plusieurs sauvegardes de fichiers pour un groupe de fichiers spécifique, le point minimal de sauvegarde du journal est le moment où le groupe de fichiers est hors connexion. Cette sauvegarde du journal post-restauration de données capture le point auquel 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.

    Remarque

    Vous pouvez également mettre le fichier hors connexion manuellement avant la séquence de restauration. Pour plus d’informations, consultez « Prise en mode 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, vous pouvez mettre la base de données hors connexion avant de démarrer la séquence de restauration à l’aide de l’une des méthodes suivantes :

  • Sous n’importe quel modèle de récupération, vous pouvez mettre la base de données hors connexion à l’aide de l’instruction ALTER DATABASE suivante :

    MODIFIER BASE DE DONNÉES database_name HORS LIGNE

  • Sinon, sous le modèle de récupération complète, vous pouvez forcer la restauration d’un fichier ou d’une page hors connexion, à l’aide de l’instruction BACKUP LOG suivante, placez la base de données à l’état de restauration :

    BACKUP LOG database_name WITH NORECOVERY.

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

Exemples

Remarque

La syntaxe d’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 récupération complète)
Restaurations de fichiers (modèle de récupération simple)
Restaurer des pages (SQL Server)
Restaurations partielles (SQL Server)
Vue d'ensemble de la restauration et de la récupération (SQL Server)