如何使用 T-SQL 更改 SQL Server 数据库的恢复模式

发布于

SQL Server 有三种恢复模式;简单、完整和批量记录。每个数据库都使用这些设置之一。

备份和还原操作在数据库恢复模式的上下文中进行

您可以使用语句和选项来更改数据库的恢复模式。ALTER DATABASE``SET RECOVERY

用于设置恢复模式时的可用选项包括:ALTER DATABASE

  • SIMPLE
  • FULL
  • BULK_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 网站上的恢复模式。