Afficher ou modifier le mode de récupération d'une base de données (SQL Server)View or Change the Recovery Model of a Database (SQL Server)

CETTE RUBRIQUE S’APPLIQUE À :ouiSQL Server (à partir de la version 2016)nonAzure SQL DatabasenonAzure SQL Data WarehousenonParallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Cette rubrique explique comment afficher ou modifier la base de données à l’aide de SQL Server Management StudioSQL Server Management Studio ou de Transact-SQLTransact-SQL.This topic describes how to view or change the database by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-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.A recovery model is a database property that controls how transactions are logged, whether the transaction log requires (and allows) backing up, and what kinds of restore operations are available. Il existe trois modes de récupération : simple, complète et utilisant les journaux de transactions.Three recovery models exist: simple, full, and bulk-logged. 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.Typically, a database uses the full recovery model or simple recovery model. Il est possible de modifier le mode de récupération d'une base de données à tout moment.A database can be switched to another recovery model at any time. La base de données model définit le mode de récupération par défaut des nouvelles bases de données.The model database sets the default recovery model of new databases.

Pour obtenir une explication plus approfondie des modèles de récupération, consultez le site web sur les modèles de récupération de SQL Server de l’équipe MSSQLTips!For a more in depth explanation of recovery models, see SQL Server Recovery Models provided by the folks at MSSQLTips!

Avant de commencer Before you begin

  • Back up the transaction log before switching from the full recovery or bulk-logged recovery model.Back up the transaction log before switching from the full recovery or bulk-logged recovery model.

  • 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.Point-in-time recovery is not possible with bulk-logged model. 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 être exposées à des pertes de données.Running transactions under the bulk-logged recovery model that require a transaction log restore can exposed them to data loss. 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 :To maximize data recoverability in a disaster-recovery scenario, switch to the bulk-logged recovery model only under the following conditions:

    • Les utilisateurs ne sont pas actuellement autorisés dans la base de données.Users are currently not allowed in the database.

    • Toutes 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.All modifications made during bulk processing are recoverable without depending on taking a log backup; for example, by re-running the bulk processes.

      Si ces deux conditions sont satisfaites, vous ne serez 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.If you satisfy these two conditions, you will not be exposed to any data loss while restoring a transaction log that was backed up under the bulk-logged recovery model..

Remarque :Note! 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.If you switch to the full recovery model during a bulk operation, bulk operations logging changes from minimal logging to full logging, and vice versa.

Autorisations requises Required permissions

Nécessite l'autorisation ALTER sur la base de données.Requires ALTER permission on the database.

Utilisation de SQL Server Management Studio Using SQL Server Management Studio

Pour afficher ou modifier le mode de récupérationTo view or change the recovery model

  1. Après vous être connecté à l'instance appropriée du Moteur de base de données SQL ServerSQL Server Database Engine, dans l'Explorateur d'objets, cliquez sur le nom du serveur pour développer son arborescence.After connecting to the appropriate instance of the Moteur de base de données SQL ServerSQL Server Database Engine, in Object Explorer, click the server name to expand the server tree.

  2. 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.Expand Databases, and, depending on the database, either select a user database or expand System Databases and select a system database.

  3. Cliquez avec le bouton droit de la souris sur la base de données, puis cliquez sur Propriétéspour ouvrir la boîte de dialogue Propriétés de la base de données .Right-click the database, and then click Properties, which opens the Database Properties dialog box.

  4. Dans le volet Sélectionner une page , cliquez sur Options.In the Select a page pane, click Options.

  5. Le mode de récupération actuel s'affiche dans la zone de liste Mode de récupération .The current recovery model is displayed in the Recovery model list box.

  6. Au besoin, pour modifier le mode de récupération, sélectionnez un autre mode dans la liste.Optionally, to change the recovery model select a different model list. Les choix sont Complet, Journalisé en blocou Simple.The choices are Full, Bulk-logged, or Simple.

  7. Cliquez sur OK.Click OK.

Utilisation de Transact-SQL Using Transact-SQL

Pour afficher le mode de récupérationTo view the recovery model

  1. Connectez-vous au Moteur de base de donnéesDatabase Engine.Connect to the Moteur de base de donnéesDatabase Engine.

  2. Dans la barre d'outils standard, cliquez sur Nouvelle requête.From the Standard bar, click New Query.

  3. Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter.Copy and paste the following example into the query window and click Execute. Cet exemple montre comment interroger l'affichage catalogue sys.databases pour connaître le mode de récupération de la base de données model .This example shows how to query the sys.databases catalog view to learn the recovery model of the model database.

SELECT name, recovery_model_desc  
   FROM sys.databases  
      WHERE name = 'model' ;  
GO  

Pour modifier le mode de récupérationTo change the recovery model

  1. Connectez-vous au Moteur de base de donnéesDatabase Engine.Connect to the Moteur de base de donnéesDatabase Engine.

  2. Dans la barre d'outils standard, cliquez sur Nouvelle requête.From the Standard bar, click New Query.

  3. Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter.Copy and paste the following example into the query window and click Execute. Cet exemple montre comment modifier le mode de récupération de la base de données model en FULL à l'aide de l'option SET RECOVERY de l'instruction ALTER DATABASE .This example shows how to change the recovery model in the model database to FULL by using the SET RECOVERY option of the ALTER DATABASE statement.

USE master ;  
ALTER DATABASE model SET RECOVERY FULL ;  

Recommandations : Après avoir modifié le mode de récupération Recommendations: After you change the recovery model

  • Après un changement de mode de récupération complète ou de mode de récupération utilisant les journaux de transactionsAfter switching between the full and bulk-logged recovery models

    • Repassez immédiatement en mode de récupération complète après avoir effectué les opérations en bloc.After completing the bulk operations, immediately switch back to full recovery mode.

    • 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.After switching from the bulk-logged recovery model back to the full recovery model, back up the log.

      REMARQUE : 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.NOTE: Your backup strategy remains the same: continue performing periodic database, log, and differential backups.

  • Après basculement à partir du mode de récupération simpleAfter switching from the simple recovery model

    • 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.Immediately after switching to the full recovery model or bulk-logged recovery model, take a full or differential database backup to start the log chain.

      REMARQUE : 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.NOTE: The switch to the full or bulk-logged recovery model takes effect only after the first data backup.

    • Planifiez des sauvegardes de journaux régulières et mettez à jour votre plan de restauration en conséquence.Schedule regular log backups, and update your restore plan accordingly.

      IMPORTANT !IMPORTANT!!!! Sauvegardez vos journaux !Back up your logs!! Si vous ne sauvegardez pas assez souvent le journal, il est susceptible de s’étendre jusqu’à manquer de l’espace disque nécessaire !If you do not back up the log frequently enough, the transaction log can expand until it runs out of disk space!

  • Après basculement en mode de récupération simpleAfter switching to the simple recovery model

    • Mettez fin à tous les travaux planifiés afin de sauvegarder le journal des transactions.Discontinue any scheduled jobs for backing up the transaction log.

    • Assurez-vous que des sauvegardes des bases de données régulières sont planifiées.Ensure periodic database backups are scheduled. 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.Backing up your database is essential both to protect your data and to truncate the inactive portion of the transaction log.

Voir aussiSee Also

Modes de récupération (SQL Server) Recovery Models (SQL Server)
Journal des transactions (SQL Server) The Transaction Log (SQL Server)
ALTER DATABASE (Transact-SQL) ALTER DATABASE (Transact-SQL)
sys.databases (Transact-SQL) sys.databases (Transact-SQL)
Modes de récupération (SQL Server) Recovery Models (SQL Server)