Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Applies to:
SQL Server
SQL Server backup and restore operations happen in the context of the recovery model of the database. Recovery models define and control transaction log maintenance. 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 are available:
Typically, a database uses the full recovery model or simple recovery model. You can switch a database to another recovery model at any time.
Note
SQL Server Enterprise and Standard editions use the full recovery model by default, while SQL Server Express edition uses the simple recovery model by default.
Recovery model overview
The following section summarizes the three recovery models.
Simple recovery model
The simple recovery model doesn't support transaction log backups.
The Database Engine automatically reclaims log space to keep space requirements low, so you don't need to manage the transaction log space. For information about database backups under the simple recovery model, see Full database backups (SQL Server).
The simple recovery model doesn't support operations that require transaction log backups.
You can't use the following features with the simple recovery model:
- Log shipping
- Always On availability groups and database mirroring
- Media recovery without data loss
- Point-in-time restores
Full recovery model
The full recovery model requires transaction log backups.
Note
In this recovery model, the transaction log continues to grow until you perform a transaction log backup.
No work is lost due to a lost or damaged data file. You can recover to an arbitrary point in time (for example, before an application or user error).
For information about database backups under the full recovery model, see Full database backups (SQL Server) and Complete database restores (full recovery model).
Bulk-logged recovery model
The bulk-logged recovery model requires transaction log backups.
Note
In this recovery model, the transaction log continues to grow until you perform a transaction log backup.
A variant of the full recovery model that permits high-performance bulk copy operations.
Reduces log space usage by using minimal logging for most bulk operations. For information about operations that can be minimally logged, see The transaction log.
Log backups might be large because the minimally logged operations are captured in the log backup. For information about database backups under the bulk-logged recovery model, see Full database backups (SQL Server) and Complete database restores (full recovery model).
Recovery time and recovery point objectives
The following table describes the effect of each recovery model on the recovery time objective (RTO), indicated by the Can recover to point in time column, and the recovery point objective (RPO), indicated by the Work loss exposure column.
| Recovery model | Work loss exposure (RPO) | Recover to point in time? (RTO) |
|---|---|---|
| Simple | Changes since the most recent backup aren't protected. If there's a disaster, those changes must be redone. | Can recover only to the end of a backup. For more information, see Complete database restores (simple recovery model). |
| Full | Normally none. If the tail of the log is damaged, changes since the most recent log backup must be redone. |
Can recover to a specific point in time, assuming that your backups are complete up to that point in time. For information about using log backups to restore to the point of failure, see Restore a SQL Server database to a point in time (full recovery model). |
| Bulk-logged | If the log is damaged or if bulk-logged operations occurred since the most recent log backup, changes since that last backup must be redone. Otherwise, no work is lost. | Can recover to the end of any backup. Point-in-time recovery isn't supported. |
Note
If you have two or more related databases in the full recovery model that must be logically consistent, you might have to implement special procedures to ensure the recoverability of these databases. For more information, see Recovery of related databases that contain marked transaction.
Related tasks
- View or change the recovery model of a database (SQL Server)
- Troubleshoot a full transaction log (SQL Server Error 9002)