View or Change the Recovery Model of a Database (SQL Server)

This topic describes how to view or change the recovery model of a database in SQL Server 2012 by using SQL Server Management Studio or Transact-SQL. 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. Three recovery models exist: simple, full, and bulk-logged. Typically, a database uses the full recovery model or simple recovery model. A database can be switched to another recovery model at any time. The model database sets the default recovery model of new databases.

In This Topic

  • Before you begin:

    Recommendations

    Security

  • To view or change the recovery model of a database, using:

    SQL Server Management Studio

    Transact-SQL

  • **Follow Up Recommendations: ** After You Change the Recovery Model

  • Related Tasks

Before You Begin

Recommendations

  • Before switching from the full recovery or bulk-logged recovery model, back up the transaction log.

  • Point-in-time recovery is not possible with bulk-logged model. Therefore, if you run transactions under the bulk-logged recovery model that might require a transaction log restore, these transactions could be exposed to data loss. To maximize data recoverability in a disaster-recovery scenario, we recommend that you switch to the bulk-logged recovery model only under the following conditions:

    • Users are currently not allowed in the database.

    • All modifications made during bulk processing are recoverable without depending on taking a log backup; for example, by re-running the bulk processes.

    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..

Note

If you switch to the full recovery model during a bulk operation, the logging of the bulk operation changes from minimal logging to full logging, and vice versa.

Security

Permissions

Requires ALTER permission on the database.

Arrow icon used with Back to Top link [Top]

Using SQL Server Management Studio

To view or change the recovery model

  1. After connecting to the appropriate instance of the SQL Server Database Engine, in Object Explorer, click the server name to expand the server tree.

  2. Expand Databases, and, depending on the database, either select a user database or expand System Databases and select a system database.

  3. Right-click the database, and then click Properties, which opens the Database Properties dialog box.

  4. In the Select a page pane, click Options.

  5. The current recovery model is displayed in the Recovery model list box.

  6. Optionally, to change the recovery model select a different model list. The choices are Full, Bulk-logged, or Simple.

  7. Click OK.

Arrow icon used with Back to Top link [Top]

Using Transact-SQL

To view the recovery model

  1. Connect to the Database Engine.

  2. From the Standard bar, click New Query.

  3. Copy and paste the following example into the query window and click Execute. 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

To change the recovery model

  1. Connect to the Database Engine.

  2. From the Standard bar, click New Query.

  3. Copy and paste the following example into the query window and click Execute. 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 ;

Arrow icon used with Back to Top link [Top]

Follow Up Recommendations: After You Change the Recovery Model

  • After switching between the full and bulk-logged recovery models

    • After completing the bulk operations, immediately switch back to full recovery mode.

    • After switching from the bulk-logged recovery model back to the full recovery model, back up the log.

      Note

      Your backup strategy remains the same: continue performing periodic database, log, and differential backups.

  • After switching from the simple recovery model

    • 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.

      Note

      The switch to the full or bulk-logged recovery model takes effect only after the first data backup.

    • Schedule regular log backups, and update your restore plan accordingly.

      Important

      If you do not back up the log frequently enough, the transaction log can expand until it runs out of disk space.

  • After switching to the simple recovery model

    • Discontinue any scheduled jobs for backing up the transaction log.

    • Ensure periodic database backups are scheduled. Backing up your database is essential both to protect your data and to truncate the inactive portion of the transaction log.

Arrow icon used with Back to Top link [Top]

Arrow icon used with Back to Top link [Top]

See Also

Reference

ALTER DATABASE (Transact-SQL)

sys.databases (Transact-SQL)

Concepts

Recovery Models (SQL Server)

The Transaction Log (SQL Server)

Recovery Models (SQL Server)