查看或更改数据库的恢复模式 (SQL Server)

适用范围:SQL Server

本文介绍如何使用 SQL Server Management Studio 或 Transact-SQL 查看或更改数据库恢复模式。

“恢复模式”是一种数据库属性,它控制如何记录事务,事务日志是否需要(以及允许)进行备份,以及可以使用哪些类型的还原操作。 有三种恢复模式:简单、完整和大容量日志。 通常,数据库使用完整恢复模式或简单恢复模式。 数据库可以随时切换为其他恢复模式。 model 数据库将设置新数据库的默认恢复模式。

有关更深入的说明,请参阅恢复模式

开始之前

  • 在从完整恢复模式或大容量日志恢复模式切换前,先备份事务日志

  • 时点恢复不适用于大容量日志模式。 在需要事务日志还原的大容量日志恢复模式下运行事务可能会导致事务丢失数据。 若要在灾难恢复方案中最大程度地恢复数据,则仅在以下条件下切换到大容量日志恢复模式:

    • 数据库中当前不允许存在用户。

    • 在大容量处理过程中进行的所有修改均可不依靠日志备份恢复;例如,通过重新运行大容量处理进行恢复。

      如果满足这两个条件,在大容量日志恢复模式下还原备份的事务日志时将不会丢失任何数据。

    如果在大容量操作过程中切换到完整恢复模式,则大容量操作日志记录将从最小日志记录更改为完整日志记录,反之亦然。

权限

需要对数据库拥有 ALTER 权限。

使用 SQL Server Management Studio

  1. 连接到 SQL Server 数据库引擎的相应实例后,在对象资源管理器中选择服务器名称以展开服务器树。

  2. 展开 “数据库”,然后根据数据库的不同,选择用户数据库,或展开 “系统数据库” ,再选择系统数据库。

  3. 右键单击该数据库,然后选择“属性”,此时将打开“数据库属性”对话框。

  4. 在“选择页”窗格中,选择“选项”

  5. 当前恢复模式显示在 “恢复模式” 列表框中。

  6. 也可以从列表中选择不同的模式来更改恢复模式。 可以选择“完整”、“大容量日志”或“简单”

  7. 选择“确定”

注意

系统将刷新或清除数据库的计划缓存条目。

使用 Transact-SQL

查看恢复模式

  1. 连接到 数据库引擎。

  2. 在标准栏上,选择“新建查询”。

  3. 将以下示例复制并粘贴到查询窗口中,然后选择“执行”。 此示例演示如何查询 sys.databases 目录视图,以了解 model 数据库的恢复模式。

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

更改恢复模式

  1. 连接到 数据库引擎。

  2. 在标准栏上,选择“新建查询”。

  3. 将以下示例复制并粘贴到查询窗口中,然后选择“执行”。 此示例说明如何使用 model ALTER DATABASE FULL 语句的 SET RECOVERY 选项将 数据库中的恢复模式更改为

USE [master];
GO
ALTER DATABASE [model]
SET RECOVERY FULL;
GO

注意

系统将刷新或清除数据库的计划缓存条目。

建议:在更改恢复模式之后

在完整恢复模式和大容量日志恢复模式之间切换后

  • 完成大容量操作之后,立即切换回完整恢复模式。

  • 在从大容量日志恢复模式切换回完整恢复模式后,备份日志。

您的备份策略保持不变:继续执行定期数据库备份、日志备份和差异备份。

从简单恢复模式切换之后

  • 切换到完整恢复模式或大容量日志恢复模式之后,立即进行完整数据库备份或差异数据库备份以启动日志链。

    到完整恢复模式或大容量日志恢复模式的切换仅在第一个数据备份之后才生效。

  • 计划安排定期日志备份并相应地更新还原计划。

    重要

    备份日志。 如果不经常备份日志,则事务日志可能会展开直到占满磁盘空间。

切换到简单恢复模式之后

  • 中断用于备份事务日志的所有计划作业。

  • 确保定期执行数据库备份。 备份数据库对于保护数据和截断事务日志的不活动部分是基本操作。