有关从完整恢复模式或大容量日志恢复模式切换的注意事项

数据库可以随时切换为其他恢复模式。如果在大容量操作过程中进行切换,则大容量操作的日志记录也会相应更改。

在大容量操作前后,进行完整恢复模式和大容量日志恢复模式切换很有用。完整恢复模式完整地记录所有事务,适合正常使用。大容量日志恢复模式适合在大容量操作过程中临时使用,假定该操作属于受大容量日志恢复模式影响的大容量操作(有关详细信息,请参阅可以尽量减少日志量的操作)。在大容量操作过程中,如果在完整恢复模式和大容量日志恢复模式之间切换,则大容量操作的日志记录也会相应更改。

限制

  • 某些功能(如数据库镜像)需要数据库处于完整恢复模式下。

  • 启用事务复制时,将完全记录 SELECT INTO 和 BULK INSERT 操作,即使处于大容量日志恢复模式下。

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

对于使用完整恢复的数据库,临时切换到大容量日志恢复模式能够提高大容量操作的性能。但是,时点恢复在大容量日志模式下不可能进行。因此,如果在可能需要事务日志还原的大容量日志恢复模式下运行事务,这些事务可能会丢失数据。若要在灾难恢复方案中最大程度地恢复数据,我们建议仅在符合以下条件下切换到大容量日志恢复模式:

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

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

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

建议:

  • 在切换到大容量日志恢复模式之前,先备份日志。

    这一点非常重要,因为在大容量日志恢复模式下,如果数据库失败,则为大容量操作备份日志需要访问数据。

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

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

按照这些建议执行会充分保护数据并启用时点恢复。下图阐释了这些建议。

使用大容量日志记录恢复的建议进程

在这两种恢复模式之间切换时,备份策略保持不变:继续执行定期数据库备份、日志备份和差异备份。

从完整恢复或大容量日志恢复切换到简单恢复

可以从完整恢复或大容量日志恢复切换到简单恢复,但这种情况不常见。

在切换到简单恢复模式之前,先备份事务日志以允许恢复到该点。简单恢复模式不支持备份日志,因此切换后,停止所有备份事务日志的计划作业。有关详细信息,请参阅如何在维护计划向导中更改维护任务

更改恢复模式

更改恢复模式 (Transact-SQL)

使用 ALTER DATABASE,如下所示:

  • 将数据库设置为完整恢复模式:

    USE master;

    ALTER DATABASE database_name SET RECOVERY FULL;

  • 将数据库设置为大容量日志恢复模式:

    USE master;

    ALTER DATABASE database_name SET RECOVERY BULK_LOGGED;

注意注意

若要更改新数据库的默认恢复模式,请使用 ALTER DATABASE 更改 model 数据库的恢复模式。

更改恢复模式 (SQL Server Management Studio)