Sauvegarder un journal des transactions (SQL Server)
Cette rubrique explique comment sauvegarder un journal de transactions dans SQL Server 2014 à l’aide de SQL Server Management Studio, Transact-SQL ou PowerShell.
Dans cette rubrique
Avant de commencer :
Pour sauvegarder un journal des transactions, utilisez :
Notes
Vous pouvez également utiliser l'Assistant Plan de maintenancepour créer des sauvegardes.
Avant de commencer
Limitations et restrictions
- L'instruction BACKUP n'est pas autorisée dans une transaction explicite ou implicite.
Recommandations
Si une base de données est configurée pour le mode de récupération complète ou le mode de récupération utilisant les journaux de transactions, vous devez sauvegarder le journal des transactions assez régulièrement pour protéger vos données et éviter une saturation de ce dernier. Cela tronque le journal et prend en charge la restauration de la base de données à un point précis dans le temps.
Par défaut, chaque opération de sauvegarde réussie ajoute une entrée au journal des erreurs SQL Server et au journal des événements système. Si vous sauvegardez très fréquemment le journal, ces messages de réussite peuvent rapidement s'accumuler, créer des journaux d'erreurs très volumineux et compliquer la recherche d'autres messages. Dans de tels cas, vous pouvez supprimer ces entrées de journal en utilisant l'indicateur de trace 3226 si aucun de vos scripts ne dépend de ces entrées. Pour plus d’informations, consultez Indicateurs de trace (Transact-SQL).
Sécurité
Autorisations
Les autorisations BACKUP DATABASE et BACKUP LOG reviennent par défaut aux membres du rôle serveur fixe sysadmin et des rôles de base de données fixes db_owner et db_backupoperator .
Des problèmes de propriété et d'autorisations sur le fichier physique de l'unité de sauvegarde sont susceptibles de perturber une opération de sauvegarde. SQL Server doit être en mesure de lire et d'écrire sur l'unité ; le compte sous lequel le service SQL Server s'exécute doit avoir des autorisations d'écriture. Toutefois, sp_addumpdevice, qui ajoute une entrée pour une unité de sauvegarde dans les tables système, ne vérifie pas les autorisations d’accès au fichier. De tels problèmes pour le fichier physique de l'unité de sauvegarde peuvent n'apparaître que lorsque la ressource physique est sollicitée au moment de la sauvegarde ou de la restauration.
Utilisation de SQL Server Management Studio
Pour sauvegarder un journal des transactions
Après vous être connecté à l'instance appropriée du Moteur de base de données SQL Server, dans l'Explorateur d'objets, cliquez sur le nom du serveur pour développer son arborescence.
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, puis cliquez sur Sauvegarder. La boîte de dialogue Sauvegarder la base de données s'affiche.
Dans la zone de liste Base de données , vérifiez le nom de la base de données. Vous pouvez éventuellement sélectionner une autre base de données dans la liste.
Vérifiez que le mode de récupération est FULL ou BULK_LOGGED.
Dans la zone de liste Type de sauvegarde , sélectionnez Journal des transactions.
Vous pouvez si vous le souhaitez sélectionner Sauvegarde de copie uniquement pour créer une sauvegarde de copie uniquement. Une sauvegarde de copie uniquement est une sauvegarde SQL Server indépendante du mécanisme des sauvegardes SQL Server conventionnelles. Pour plus d’informations, consultez Sauvegardes de copie uniquement (SQL Server).
Notes
Lorsque l'option Différentielle est sélectionnée, vous ne pouvez pas créer de sauvegarde de copie uniquement.
Acceptez le nom du jeu de sauvegarde par défaut proposé dans la zone de texte Nom , ou attribuez-lui un autre nom.
Dans la zone de texte Description , vous avez la possibilité de saisir une description du jeu de sauvegarde.
Indiquez quand le jeu de sauvegarde arrivera à expiration :
Pour que le jeu de sauvegarde expire au bout d’un nombre de jours spécifique, cliquez sur Après (option par défaut) et entrez le nombre de jours souhaité pour l’expiration du jeu après sa création. Cette valeur doit être comprise entre 0 et 99999 jours ; une valeur de 0 jour signifie que le jeu de sauvegarde n'expirera jamais.
La valeur par défaut est définie dans l’option Délai de rétention par défaut du support de sauvegarde (jours) de la boîte de dialogue Propriétés du serveur (pageParamètres de base de données ). Pour accéder à cette base de données, cliquez avec le bouton droit sur le nom du serveur dans l’Explorateur d’objets et sélectionnez Propriétés. Ensuite, sélectionnez la page Paramètres de base de données .
Pour que le jeu de sauvegarde expire à une date spécifique, cliquez sur Leet entrez la date d'expiration souhaitée.
Choisissez le type de destination de la sauvegarde en cliquant sur Disque, URL ou Bande. Pour sélectionner les chemins d'accès à 64 lecteurs de bande ou de disque au maximum contenant un seul support de sauvegarde, cliquez sur Ajouter. Les chemins d'accès sélectionnés apparaissent dans la zone de liste Sauvegarde sur .
Pour supprimer une destination de sauvegarde, sélectionnez-la, puis cliquez sur Supprimer. Pour afficher le contenu d'une destination de sauvegarde, sélectionnez-la, puis cliquez sur Sommaire.
Pour afficher ou sélectionner les options avancées, cliquez sur Options dans le volet Sélectionner une page .
Sélectionnez une option Remplacer le support en cliquant sur un des éléments suivants :
Sauvegarder sur le support de sauvegarde existant
Pour cette option, cliquez sur Ajouter au jeu de sauvegarde existant ou sur Remplacer tous les jeux de sauvegarde existants. Pour plus d'informations, consultez Jeux de supports, familles de supports et jeux de sauvegarde (SQL Server).
Vous pouvez aussi activer la case à cocher Vérifier le nom du support de sauvegarde et la date d'expiration du jeu de sauvegarde pour forcer l'opération de sauvegarde à vérifier la date et l'heure de l'expiration du jeu de supports ou du jeu de sauvegarde.
Vous pouvez éventuellement entrer un nom dans la zone de texte Nom du support de sauvegarde . Si aucun nom n'est spécifié, un support de sauvegarde avec un nom vide est créé. Si vous spécifiez un nom pour le support de sauvegarde, ce support (bande ou disque) est vérifié pour voir si le nom réel correspond bien au nom que vous entrez ici.
Si vous n'entrez pas de nom et que vous activez la case à cocher pour demander la vérification par rapport au support, le nom du support sera également vide sur le support.
Sauvegarder sur un nouveau support de sauvegarde et effacer tous les jeux de sauvegarde existants
Pour cette option, entrez un nom dans la zone de texte Nouveau nom du support de sauvegarde et décrivez éventuellement le jeu de supports dans la zone de texte Description du nouveau support de sauvegarde . Pour plus d'informations, consultez Jeux de supports, familles de supports et jeux de sauvegarde (SQL Server).
Dans la section Fiabilité , vous pouvez éventuellement activer les cases à cocher :
Vérifier la sauvegarde en fin d'opération;
Effectuer une somme de contrôle avant d'écrire sur le supportet éventuellement Continuer lors d'erreurs de somme de contrôle. Pour plus d’informations sur les sommes de contrôle, consultez Erreurs de média possibles pendant la sauvegarde et la restauration (SQL Server).
Dans la section Journal des transactions :
Pour les sauvegardes normales du journal, conservez la sélection par défaut, Tronquer le journal des transactions en supprimant les entrées inactives.
Pour sauvegarder la fin du journal (autrement dit le journal actif), cochez la case Sauvegarder la fin du journal et laisser la base de données dans l’état de restauration.
Une sauvegarde de la fin du journal est effectuée après une défaillance pour éviter de perdre des données. Sauvegardez le journal actif (sauvegarde de la fin du journal) après une défaillance, avant de commencer la restauration de la base de données ou en cas de basculement sur une base de données secondaire. Sélectionner cette option équivaut à spécifier l'option NORECOVERY dans l'instruction BACKUP LOG de Transact-SQL. Pour plus d’informations sur les sauvegardes de la fin du journal, consultez Sauvegardes de la fin du journal (SQL Server).
Si vous effectuez la sauvegarde sur un lecteur de bande (spécifié dans la section Destination de la page Général ), l’option Décharger la bande après la sauvegarde est active. Vous pouvez cliquer sur cette option pour activer l'option Rembobiner la bande avant de décharger .
SQL Server 2008 Enterprise et versions ultérieures prennent en charge la compression de la sauvegarde. Par défaut, la compression d’une sauvegarde dépend de la valeur de l’option de configuration de serveur Compression par défaut des sauvegardes . Toutefois, quelle que soit la valeur par défaut actuelle au niveau du serveur, vous pouvez compresser une sauvegarde en activant Compresser la sauvegarde, et vous pouvez empêcher la compression en activant Ne pas compresser la sauvegarde.
Pour consulter la valeur par défaut de compression de la sauvegarde actuelle
Chiffrement
Pour chiffrer le fichier de sauvegarde, activez la case à cocher Chiffrer le fichier de sauvegarde . Sélectionnez l'algorithme de chiffrement à utiliser pour chiffrer le fichier de sauvegarde et fournissez un certificat ou une clé asymétrique. Les algorithmes disponibles pour le chiffrement sont :
AES 128
AES 192
AES 256
Triple DES
Utilisation de Transact-SQL
Pour sauvegarder un journal des transactions
Exécutez l'instruction BACKUP LOG pour sauvegarder le journal des transactions, en spécifiant :
Le nom de la base de données à laquelle appartient le journal des transactions à sauvegarder.
l'unité de sauvegarde où sera écrite la sauvegarde du journal des transactions.
Exemple (Transact-SQL)
Important
Cet exemple utilise la base de données AdventureWorks2012 , qui fait appel au mode de récupération simple. Pour autoriser les sauvegardes de fichier journal, avant d'effectuer une sauvegarde complète de base de données, la base de données a été configurée pour utiliser le mode de récupération complète. Pour plus d’informations, consultez Afficher ou modifier le mode de récupération d’une base de données (SQL Server).
L'exemple suivant crée une sauvegarde du journal des transactions pour la base de données AdventureWorks2012 sur l'unité de sauvegarde nommée qui a été précédemment créée, MyAdvWorks_FullRM_log1
.
BACKUP LOG AdventureWorks2012
TO MyAdvWorks_FullRM_log1;
GO
Utilisation de PowerShell
Utilisez l'applet de commande Backup-SqlDatabase
et spécifiez Log
comme valeur du paramètre -BackupAction
.
L'exemple suivant crée une sauvegarde de fichier journal de la base de données MyDB
à l'emplacement de sauvegarde par défaut de l'instance de serveur Computer\Instance
.
```powershell
Backup-SqlDatabase -ServerInstance Computer\Instance -Database MyDB -BackupAction Log
```
Pour configurer et utiliser le fournisseur PowerShell SQL Server, consultez SQL Server fournisseur PowerShell.
Tâches associées
Restaurer une sauvegarde de journal des transactions (SQL Server)
Résoudre les problèmes liés à un journal des transactions saturé (erreur SQL Server 9002)
Voir aussi
BACKUP (Transact-SQL)
Appliquer les sauvegardes du journal de transactions (SQL Server)
Plans de maintenance
Sauvegardes de fichiers complètes (SQL Server)