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.
Cette rubrique explique comment restaurer une sauvegarde du journal des transactions dans SQL Server 2014 à l’aide de SQL Server Management Studio ou de Transact-SQL.
Dans cette rubrique
Avant de commencer :
Pour restaurer une sauvegarde du journal des transactions, utilisez :
Avant de commencer
Conditions préalables
Les sauvegardes doivent être restaurées dans l’ordre dans lequel elles ont été créées. Avant de pouvoir restaurer une sauvegarde particulière du journal des transactions, vous devez d’abord restaurer les sauvegardes précédentes suivantes sans restaurer les transactions non validées, c’est-à-dire WITH NORECOVERY :
Sauvegarde complète de la base de données et dernière sauvegarde différentielle, le cas échéant, effectuée avant la sauvegarde du journal des transactions particulière. Avant la création de la sauvegarde complète ou différentielle de la base de données la plus récente, la base de données doit avoir utilisé le modèle de récupération complète ou le modèle de récupération journalisé en bloc.
Toutes les sauvegardes du journal des transactions effectuées après la sauvegarde complète de la base de données ou la sauvegarde différentielle (si vous en restaurez une) et avant la sauvegarde particulière du journal des transactions. Les sauvegardes de journaux doivent être appliquées dans l'ordre de leur création, sans aucune lacune dans la chaîne de journaux.
Pour plus d’informations sur les sauvegardes de journal des transactions, consultez Sauvegardes du journal des transactions (SQL Server) et Appliquer des sauvegardes de journal des transactions (SQL Server).
Sécurité
Autorisations
Les autorisations RESTORE sont accordées aux rôles dans lesquels les informations d’appartenance sont toujours facilement disponibles pour le serveur. Étant donné que l’appartenance au rôle de base de données fixe ne peut être vérifiée que lorsque la base de données est accessible et non endommagée, ce qui n’est pas toujours le cas lorsque RESTORE est exécuté, les membres du rôle de base de données fixe db_owner n’ont pas d’autorisations RESTORE.
Utilisation de SQL Server Management Studio
Avertissement
Le processus normal d’une restauration consiste à sélectionner les sauvegardes de journal dans la boîte de dialogue Restaurer la base de données , ainsi que les données et les sauvegardes différentielles.
Pour restaurer une sauvegarde du journal des transactions
Après vous être connecté à l’instance appropriée du moteur de base de données Microsoft SQL Server, dans l’Explorateur d’objets, cliquez sur le nom du serveur pour développer l’arborescence du serveur.
Développez Bases de donnéespuis, selon la base de données, sélectionnez une base de données utilisateur ou développez Bases de données système et sélectionnez une base de données système.
Cliquez avec le bouton droit sur la base de données, pointez sur Tâches, pointez sur Restaurer, puis cliquez sur Journal des transactions, ce qui ouvre la boîte de dialogue Restaurer le journal des transactions .
Remarque
Si le journal des transactions est grisé, vous devrez peut-être d’abord restaurer une sauvegarde complète ou différentielle. Utilisez la boîte de dialogue Sauvegarde de base de données .
Dans la page Général , dans la zone de liste Base de données , sélectionnez le nom d’une base de données. Seules les bases de données dans l’état de restauration sont répertoriées.
Pour spécifier l'origine et l’emplacement des jeux de sauvegarde à restaurer, cliquez sur l’une des options ci-après :
À partir des sauvegardes précédentes de la base de données
Sélectionnez la base de données à restaurer dans la liste déroulante. La liste contient uniquement les bases de données sauvegardées en fonction de l’historique de sauvegarde msdb .
À partir d’un fichier ou d’une bande
Cliquez sur le bouton Parcourir (...) pour ouvrir la boîte de dialogue Sélectionner des appareils de sauvegarde . Dans la zone Type de support de sauvegarde , sélectionnez l’un des types d’appareils répertoriés. Pour sélectionner un ou plusieurs appareils pour la zone de support de sauvegarde , cliquez sur Ajouter.
Après avoir ajouté les appareils que vous souhaitez dans la zone de liste des supports de sauvegarde , cliquez sur OK pour revenir à la page Général .
Dans la grille Sélectionner les sauvegardes du journal des transactions à restaurer , sélectionnez les sauvegardes à restaurer. Cette grille répertorie les sauvegardes du journal des transactions disponibles pour la base de données sélectionnée. Une sauvegarde de journal est disponible uniquement si son premier LSN supérieur au dernier LSN de la base de données. Les sauvegardes de journal sont répertoriées dans l’ordre des numéros de séquence de journaux (LSN) qu’elles contiennent, et elles doivent être restaurées dans cet ordre.
Le tableau suivant répertorie les en-têtes de colonne de la grille et décrit leurs valeurs.
En-tête de page Valeur Restauration Les cases à cocher sélectionnées indiquent les jeux de sauvegarde à restaurer. Nom Nom du jeu de sauvegarde. Composant Composant sauvegardé : base de données, fichier ou <vide> (pour les journaux des transactions). Base de données Nom de la base de données impliquée dans l’opération de sauvegarde. Date de début Date et heure à laquelle l’opération de sauvegarde a commencé, présentée dans le paramètre régional du client. Date de fin Date et heure de fin de l’opération de sauvegarde, présentées dans le paramètre régional du client. Premier LSN Numéro de séquence de journal de la première transaction dans l'ensemble de sauvegarde. Vide pour les sauvegardes de fichiers. Dernier LSN Numéro de séquence de journal de la dernière transaction dans l'ensemble de sauvegarde. Vide pour les sauvegardes de fichiers. Point de contrôle de LSN Numéro de séquence de journal du point de contrôle le plus récent au moment de la création de la sauvegarde. LSN complet Numéro de séquence de journaux de la sauvegarde complète de base de données la plus récente. Serveur Nom de l’instance du moteur de base de données qui a effectué l’opération de sauvegarde. Nom d’utilisateur Nom de l’utilisateur qui a effectué l’opération de sauvegarde. Taille Taille du jeu de sauvegarde en octets. Position Position du jeu de sauvegarde dans le volume. Expiration Date et heure d’expiration du jeu de sauvegarde. Sélectionnez l’une des options suivantes :
Instant précis
Conservez la valeur par défaut (la plus récente possible) ou sélectionnez une date et une heure spécifiques en cliquant sur le bouton Parcourir, ce qui ouvre la boîte de dialogue Restauration de point dans le temps .
Transaction marquée
Restaurez la base de données à une transaction précédemment marquée. La sélection de cette option lance la boîte de dialogue Sélectionner une transaction marquée , qui affiche une grille répertoriant les transactions marquées disponibles dans les sauvegardes du journal des transactions sélectionnées.
Par défaut, la restauration s'étend jusqu'à la transaction marquée, mais sans l’inclure. Pour restaurer également la transaction marquée, sélectionnez Inclure la transaction marquée.
Le tableau suivant répertorie les en-têtes de colonne de la grille et décrit leurs valeurs.
En-tête de page Valeur <vide> Affiche une case à cocher pour sélectionner la marque. Marque de transaction Nom de la transaction marquée spécifiée par l’utilisateur lors de la validation de la transaction. Date Date et heure de la transaction lorsqu’elle a été validée. La date et l’heure de transaction sont affichées comme enregistrées dans la table msdbgmarkhistory , et non dans la date et l’heure de l’ordinateur client. Description Description de la transaction marquée spécifiée par l’utilisateur lorsque la transaction a été validée (le cas échéant). LSN Numéro de séquence de journal de la transaction marquée. Base de données Nom de la base de données où la transaction marquée a été validée. Nom d’utilisateur Nom de l’utilisateur de base de données qui a validé la transaction marquée.
Pour afficher ou sélectionner les options avancées, cliquez sur Options dans le volet Sélectionner une page .
Dans la section Options de restauration , les choix sont les suivants :
Conserver les paramètres de réplication (WITH KEEP_REPLICATION)
Conserve les paramètres de réplication lors de la restauration d’une base de données publiée sur un serveur autre que celui où la base de données a été créée.
Cette option est disponible uniquement avec l’option Laisser la base de données prête à être utilisée en supprimant les transactions non validées... (décrite plus loin), ce qui équivaut à restaurer une sauvegarde avec l’option
RECOVERY.La vérification de cette option équivaut à utiliser l’option
KEEP_REPLICATIONdans une instruction Transact-SQLRESTORE.Demande de confirmation avant de restaurer chaque sauvegarde
Avant de restaurer chaque jeu de sauvegarde (après la première), cette option affiche la boîte de dialogue Continuer avec Restauration, qui vous demande d’indiquer si vous souhaitez continuer la séquence de restauration. Cette boîte de dialogue affiche le nom du jeu de supports suivant (le cas échéant), le nom du jeu de sauvegarde et la description du jeu de sauvegarde.
Cette option est particulièrement utile lorsque vous devez échanger des bandes pour différents ensembles de médias. Par exemple, vous pouvez l’utiliser lorsque le serveur n’a qu’un seul appareil à bande. Attendez que vous soyez prêt à continuer avant de cliquer sur OK.
Le fait de cliquer sur Non laisse la base de données dans l’état de restauration. À votre convenance, vous pouvez continuer la séquence de restauration après la dernière restauration terminée. Si la sauvegarde suivante est une sauvegarde différentielle ou des données, utilisez à nouveau la tâche Restaurer la base de données . Si la sauvegarde suivante est une sauvegarde de journal, utilisez la tâche Restaurer le journal des transactions .
Restreindre l’accès à la base de données restaurée (WITH RESTRICTED_USER)
Rend la base de données restaurée disponible uniquement pour les membres de db_owner, dbcreator ou sysadmin.
La vérification de cette option est synonyme d’utilisation de l’option
RESTRICTED_USERdans une instruction Transact-SQLRESTORE.
Pour les options d’état de récupération , spécifiez l’état de la base de données après l’opération de restauration.
Laissez la base de données prête à être utilisée en annulant les transactions non validées. Les journaux des transactions supplémentaires ne peuvent pas être restaurés. (RESTAURATION AVEC RÉCUPÉRATION)
Récupère la base de données. Cette option équivaut à l’option
RECOVERYdans une instruction Transact-SQLRESTORE.Choisissez cette option uniquement si vous ne disposez pas de fichiers journaux que vous souhaitez restaurer.
Laissez la base de données non opérationnelle et ne restaurez pas les transactions non validées. Les journaux de transactions supplémentaires peuvent être restaurés. (RESTAURER AVEC NORECOVERY)
Laisse la base de données non reprise, dans l’état
RESTORING. Cette option équivaut à utiliser l’optionNORECOVERYdans une instruction Transact-SQLRESTORE.Lorsque vous choisissez cette option, l’option Conserver les paramètres de réplication n’est pas disponible.
Important
Pour une base de données miroir ou secondaire, sélectionnez toujours cette option.
Laisser la base de données en lecture seule. Annulez les transactions non validées, mais enregistrez les actions d’annulation dans un fichier afin que les effets de récupération puissent être inversés. (RESTAURER AVEC VEILLE)
Laisse la base de données dans un état de secours. Cette option équivaut à utiliser l’option
STANDBYdans une instruction Transact-SQLRESTORE.Le choix de cette option nécessite que vous spécifiiez un fichier de secours.
Si vous le souhaitez, spécifiez un nom de fichier de secours dans la zone de texte Du fichier de secours . Cette option est requise si vous laissez la base de données en mode lecture seule. Vous pouvez rechercher le fichier de secours ou taper son chemin d’accès dans la zone de texte.
Utilisation de Transact-SQL
Important
Nous vous recommandons de toujours indiquer clairement WITH NORECOVERY ou WITH RECOVERY dans chaque instruction RESTORE afin d'éliminer toute ambiguïté. Cela est particulièrement important lors de l’écriture de scripts.
Pour restaurer une sauvegarde du journal des transactions
Exécutez l’instruction RESTORE LOG pour appliquer la sauvegarde du journal des transactions, en spécifiant :
Nom de la base de données à laquelle le journal des transactions sera appliqué.
Périphérique de sauvegarde à partir duquel la sauvegarde du journal des transactions sera restaurée.
La clause NORECOVERY.
La syntaxe de base de cette instruction est la suivante :
RESTORE LOG database_name FROM <backup_device> WITH NORECOVERY.
Où database_name est le nom de la base de données et <backup_device>est le nom de l’appareil qui contient la sauvegarde du journal en cours de restauration.
Répétez l’étape 1 pour chaque sauvegarde du journal des transactions que vous devez appliquer.
Après avoir restauré la dernière sauvegarde dans votre séquence de restauration, pour récupérer la base de données, utilisez l’une des instructions suivantes :
Récupérez la base de données dans le cadre de la dernière instruction RESTORE LOG :
RESTORE LOG <database_name> FROM <backup_device> WITH RECOVERY; GOAttendez de récupérer la base de données à l’aide d’une instruction RESTORE DATABASE distincte :
RESTORE LOG <database_name> FROM <backup_device> WITH NORECOVERY; RESTORE DATABASE <database_name> WITH RECOVERY; GOEn attendant de récupérer la base de données, vous pouvez vérifier que vous avez restauré toutes les sauvegardes de journal nécessaires. Cette approche est souvent conseillée lorsque vous effectuez une restauration à un point dans le temps.
Important
Si vous créez une base de données miroir, omettez l’étape de récupération. Une base de données miroir doit rester à l’état RESTORING.
Exemples (Transact-SQL)
Par défaut, la base de données AdventureWorks2012 utilise le modèle de récupération simple. Les exemples suivants nécessitent la modification de la base de données pour utiliser le modèle de récupération complète, comme suit :
ALTER DATABASE AdventureWorks2012 SET RECOVERY FULL;
A. Application d’une sauvegarde de journal des transactions unique
L’exemple suivant commence par restaurer la base de données AdventureWorks2012 à l’aide d’une sauvegarde complète de base de données qui réside sur un appareil de sauvegarde nommé AdventureWorks2012_1. L’exemple applique ensuite la première sauvegarde du journal des transactions qui réside sur un périphérique de sauvegarde nommé AdventureWorks2012_log. Enfin, l’exemple récupère la base de données.
RESTORE DATABASE AdventureWorks2012
FROM AdventureWorks2012_1
WITH NORECOVERY;
GO
RESTORE LOG AdventureWorks2012
FROM AdventureWorks2012_log
WITH FILE = 1,
WITH NORECOVERY;
GO
RESTORE DATABASE AdventureWorks2012
WITH RECOVERY;
GO
B. Application de plusieurs sauvegardes de journal des transactions
L’exemple suivant commence par restaurer la base de données AdventureWorks2012 à l’aide d’une sauvegarde complète de base de données qui réside sur un appareil de sauvegarde nommé AdventureWorks2012_1. L’exemple s’applique ensuite, un par un, les trois premières sauvegardes du journal des transactions qui résident sur un périphérique de sauvegarde nommé AdventureWorks2012_log. Enfin, l’exemple récupère la base de données.
RESTORE DATABASE AdventureWorks2012
FROM AdventureWorks2012_1
WITH NORECOVERY;
GO
RESTORE LOG AdventureWorks2012
FROM AdventureWorks2012_log
WITH FILE = 1,
NORECOVERY;
GO
RESTORE LOG AdventureWorks2012
FROM AdventureWorks2012_log
WITH FILE = 2,
WITH NORECOVERY;
GO
RESTORE LOG AdventureWorks2012
FROM AdventureWorks2012_log
WITH FILE = 3,
WITH NORECOVERY;
GO
RESTORE DATABASE AdventureWorks2012
WITH RECOVERY;
GO
Tâches associées
Restaurer une sauvegarde de base de données (SQL Server Management Studio)
Restaurer une base de données SQL Server à un point dans le temps (modèle de récupération complète)
Restaurer une base de données dans une transaction marquée (SQL Server Management Studio)
Voir aussi
RESTORE (Transact-SQL)
Appliquer des sauvegardes de journal des transactions (SQL Server)