更改数据库的目标恢复时间 (SQL Server)

本主题介绍如何通过使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 2012 中设置和更改 SQL Server 数据库的目标恢复时间。 默认情况下,目标恢复时间为 0,数据库使用“自动检查点”(由 recovery interval 服务器选项控制)。 如果将目标恢复时间设置为大于 0,数据库将使用“间接检查点”并为此数据库建立恢复时间上限。

注意注意

如果长时间运行的事务导致过多 UNDO 时间,则可能超过给定数据库的目标恢复时间设置为该数据库指定的上限。

  • **开始之前:**限制和局限、安全性

  • **若要更改目标恢复时间,请使用:**SQL Server Management Studio 或 Transact-SQL

开始之前

限制和局限

  • 为间接检查点配置的数据库上的联机事务工作负荷可能导致性能下降。

安全性

权限

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

[返回页首]

使用 SQL Server Management Studio

更改目标恢复时间

  1. 在**“对象资源管理器”**中,连接到某个SQL Server 数据库引擎实例,再展开该实例。

  2. 右键单击要更改的数据库,然后单击**“属性”**命令。

  3. 在**“数据库属性”对话框中,单击“选项”**页。

  4. 在**“恢复”面板的“目标恢复时间(秒)”**字段中,指定要作为此数据库恢复时间上限的秒数。

用于“返回首页”链接的箭头图标[Top]

使用 Transact-SQL

更改目标恢复时间

  1. 连接到数据库所在的 SQL Server 实例。

  2. 按如下所示使用以下 ALTER DATABASE 语句:

    TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }

    • target_recovery_time
      大于 0(默认值)时,指定在发生崩溃的情况下指定数据库的恢复时间上限。

    • SECONDS
      指示 target_recovery_time 表示为秒数。

    • MINUTES
      指示 target_recovery_time 表示为分钟数。

    以下示例将 AdventureWorks2012 数据库的目标恢复时间设置为 90 秒。

    ALTER DATABASE AdventureWorks2012 SET TARGET_RECOVERY_TIME = 90 SECONDS;
    

用于“返回首页”链接的箭头图标[Top]

请参阅

参考

ALTER DATABASE SET 选项 (Transact-SQL)

概念

数据库检查点 (SQL Server)