查看或更改数据库的恢复模式(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. 将以下示例复制并粘贴到查询窗口中,然后选择“执行”。 此示例演示如何使用 SET RECOVERY ALTER DATABASE 语句的选项将数据库中的恢复模式model更改为FULL

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

注意

将刷新或清除数据库的缓存条目。

建议:更改恢复模式后

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

  • 完成批量操作后,立即切换回完全恢复模式。

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

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

从简单恢复模式切换后

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

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

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

    重要

    备份日志。 如果不经常备份日志,事务日志可以展开,直到磁盘空间不足。

切换到简单恢复模式后

  • 停止任何计划作业以备份事务日志。

  • 确保计划定期数据库备份。 备份数据库对于保护数据以及截断事务日志的非活动部分至关重要。

另请参阅

后续步骤