SQL Server Database Recovery Models

SQL Server provides three recovery models to control the data protection and transaction log management in a database:

Simple Recovery Model: In this recovery model, the transaction logs are automatically truncated after each transaction checkpoint and don't support point-in-time recovery. This recovery model is suitable for small databases where data loss is acceptable. 

Example:

ALTER DATABASE [database_name] 

SET RECOVERY SIMPLE

Full Recovery Model: In this recovery model, the transaction logs are not automatically truncated and the entire transaction history is retained until a log backup is taken. This recovery model supports point-in-time recovery and is suitable for large databases with a high level of data protection. 

Example:

ALTER DATABASE [database_name] 

SET RECOVERY FULL

Bulk-Logged Recovery Model: In this recovery model, some types of bulk operations (e.g. bulk import) are minimally logged and the transaction logs are not automatically truncated. This recovery model is a middle ground between simple and full recovery models and is suitable for large databases with a moderate level of data protection. 

Example:

ALTER DATABASE [database_name] 

SET RECOVERY BULK_LOGGED

Note - It's important to choose the appropriate recovery model for a database based on the data protection and performance requirements.

Comments

Popular posts from this blog

Standard Developer and Enterprise Developer edition in SQL Server 2025

How data is replicated from the Primary Replica to the Secondary Replica in a SQL Server Always On Availability Group

Accelerated Database Recovery (ADR) in SQL Server