Afficher ou modifier le mode de récupération d’une base de données (SQL Server)
S'applique à : SQL Server
Cet article décrit comment afficher ou modifier le mode de récupération de la base de données en utilisant SQL Server Management Studio ou Transact-SQL.
Un mode de récupération est une propriété de base de données qui contrôle la façon dont les transactions sont journalisées, précise si le journal des transactions nécessite (et permet) une sauvegarde et spécifie les types d’opérations de restauration disponibles. Il existe trois modes de récupération : simple, complète et utilisant les journaux de transactions. En règle générale, une base de données utilise le mode de restauration complète ou le mode de récupération simple. Il est possible de modifier le mode de récupération d'une base de données à tout moment. La base de données model
définit le mode de récupération par défaut des nouvelles bases de données.
Pour une explication approfondie, consultez modes de récupération.
Avant de commencer
Sauvegardez le journal des transactions avant de quitter le mode de récupération complète ou mode de récupération utilisant les journaux de transactions.
La récupération jusqu’à une date et heure n’est pas possible dans le mode de récupération utilisant les journaux de transactions. Si vous exécutez des transactions en mode de récupération utilisant les journaux de transactions, pouvant nécessiter une restauration du journal des transactions, ces transactions peuvent les exposer à des pertes de données. Pour optimiser la possibilité de récupérer les données dans un scénario de récupération après sinistre, passez au mode de récupération utilisant les journaux de transactions dans les conditions suivantes :
Les utilisateurs ne sont pas actuellement autorisés dans la base de données.
Toutes les modifications effectuées au cours du traitement en bloc sont récupérables sans une restauration du journal en réexécutant, par exemple, les processus en bloc.
Si ces deux conditions sont satisfaites, vous n’êtes pas exposé à des pertes de données lors d’une restauration du journal des transactions sauvegardé en mode de récupération utilisant les journaux de transactions.
Si vous adoptez le mode de récupération complète pendant une opération en bloc, la journalisation des opérations en bloc passe de la journalisation minimale à la journalisation complète, et inversement.
autorisations
Nécessite l'autorisation ALTER sur la base de données.
Utiliser SQL Server Management Studio
Après vous être connecté à l'instance appropriée du moteur de base de données SQL Server, dans l'Explorateur d'objets, sélectionnez 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 de la souris sur la base de données, puis sélectionnez Propriétéspour ouvrir la boîte de dialogue Propriétés de la base de données.
Dans le volet Sélectionner une page, sélectionnez Options.
Le mode de récupération actuel s'affiche dans la zone de liste Mode de récupération .
Au besoin, pour modifier le mode de récupération, sélectionnez un autre mode dans la liste. Les choix sont Complet, Journalisé en blocou Simple.
Cliquez sur OK.
Remarque
Les entrées de cache du plan pour la base de données seront vidées ou effacées.
Utiliser Transact-SQL
Afficher le mode de récupération
Connectez-vous au Moteur de base de données.
Dans la barre d’outils standard, sélectionnez Nouvelle requête.
Copiez et collez l’exemple suivant dans la fenêtre de requête, puis sélectionnez Exécuter. Cet exemple montre comment interroger la vue de catalogue sys.databases pour connaître le mode de récupération de la base de données
model
.
SELECT name, recovery_model_desc
FROM sys.databases
WHERE name = 'model';
GO
Modifier le mode de récupération
Connectez-vous au Moteur de base de données.
Dans la barre d’outils standard, sélectionnez Nouvelle requête.
Copiez et collez l’exemple suivant dans la fenêtre de requête, puis sélectionnez Exécuter. Cet exemple montre comment modifier le mode de récupération de la base de données
model
enFULL
à l'aide de l'optionSET RECOVERY
de l'instruction ALTER DATABASE .
USE [master];
GO
ALTER DATABASE [model]
SET RECOVERY FULL;
GO
Remarque
Les entrées de cache du plan pour la base de données seront vidées ou effacées.
Recommandations : Après avoir modifié le mode de récupération
Après un changement de mode de récupération complète ou de mode de récupération utilisant les journaux de transactions
Repassez immédiatement en mode de récupération complète après avoir effectué les opérations en bloc.
Après être passé du mode de récupération utilisant les journaux de transactions au mode de récupération complète, sauvegardez le journal.
Votre stratégie de sauvegarde ne change pas : continuez à effectuer régulièrement des sauvegardes des bases de données, des sauvegardes des journaux et des sauvegardes différentielles.
Après basculement à partir du mode de récupération simple
Aussitôt après être passé en mode de restauration complète ou en mode de récupération utilisant les journaux de transactions, procédez à une sauvegarde de base de données complète ou différentielle pour lancer la séquence de journaux.
Le passage au mode de restauration complète ou mode de récupération utilisant les journaux de transactions n'est effectif qu'après la première sauvegarde de base de données.
Planifiez des sauvegardes de journaux régulières et mettez à jour votre plan de restauration en conséquence.
Important
Sauvegardez vos journaux. Si vous ne sauvegardez pas assez souvent le journal, il est susceptible de s'étendre jusqu'à manquer de l'espace disque nécessaire.
Après basculement en mode de récupération simple
Mettez fin à tous les travaux planifiés afin de sauvegarder le journal des transactions.
Assurez-vous que des sauvegardes des bases de données régulières sont planifiées. La sauvegarde de votre base de données est essentielle pour protéger vos données et tronquer la partie inactive du journal des transactions.