如何使用 T-SQL 更改 SQL Server 数据库的恢复模式
发布于
SQL Server 有三种恢复模式;简单、完整和批量记录。每个数据库都使用这些设置之一。
备份和还原操作在数据库恢复模式的上下文中进行
您可以使用语句和选项来更改数据库的恢复模式。ALTER DATABASE``SET RECOVERY
用于设置恢复模式时的可用选项包括:ALTER DATABASE
SIMPLEFULLBULK_LOGGED
您需要对数据库具有权限才能进行此类更改。ALTER
示例
假设我们有一个名为 的数据库。PetHotel
我们可以通过查询目录视图来检查它的当前恢复模式:sys.databases
SELECT
name,
recovery_model_desc
FROM sys.databases
WHERE name = 'PetHotel';
输出:
+----------+-----------------------+
| name | recovery_model_desc |
|----------+-----------------------|
| PetHotel | SIMPLE |
+----------+-----------------------+数据库当前使用简单恢复模式。PetHotel
让我们将其更改为完整恢复模式:
USE master;
ALTER DATABASE PetHotel
SET RECOVERY FULL;
做。
现在让我们检查结果:
SELECT
name,
recovery_model_desc
FROM sys.databases
WHERE name = 'PetHotel';
输出:
+----------+-----------------------+
| name | recovery_model_desc |
|----------+-----------------------|
| PetHotel | FULL |
+----------+-----------------------+已成功按指定更改恢复模式。
重要注意事项
从简单恢复模式切换到其他模式之一时,切换仅在第一次数据备份后生效。
因此,一旦从简单恢复模式切换到完整或大容量日志恢复模式,就应执行完整或差异数据库备份来启动日志链。
如果_切换到_简单恢复模式,请确保禁用用于备份事务日志的任何计划作业(简单恢复模式不使用日志备份)。
此外,大容量恢复模式专门用于批量操作。如果为此目的从完整恢复模式切换到大容量日志记录模式,则应在执行批量操作后切换回完整恢复模式。
从大容量日志恢复模式切换回完整恢复模式后,请务必备份日志。
有关每种恢复模式的概述,请参阅 Microsoft 网站上的恢复模式。