共用方式為


變更資料庫的目標復原時間 (SQL Server)

本主題描述如何使用 SQL Server Management Studio 或 Transact-SQL,在 SQL Server 2014 中設定 SQL Server 資料庫的目標復原時間變更。 根據預設,目標復原時間是0,而資料庫會使用 自動檢查點 (由 復原間隔 伺服器選項控制)。 將目標復原時間設定為大於 0 會導致資料庫使用 間接檢查點, 併為此資料庫建立復原時間上限。

注意

如果長時間執行的交易造成過多的復原次數,可能會超過目標復原時間設定針對給定資料庫所指定的上限。

開始之前

警告

針對間接檢查點 (部分機器翻譯) 設定之資料庫上的線上交易式工作負載可能會發生效能降低。 間接檢查點可確定中途分頁的數目,低於特定臨界值,如此即可在目標復原時間內完成資料庫的復原。 復原間隔組態選項會使用交易數目來判斷復原時間,而不是使用臟頁數的間接檢查點。 在收到大量 DML 作業的資料庫上啟用間接檢查點時,背景寫入器可開始積極排清磁碟的中途緩衝區,以確保執行復原所需的時間,落在資料庫所設的目標復原時間內。 這可能會在特定系統上造成額外的 I/O 活動,如果磁碟子系統運作超過或接近 I/O 閾值,可能會導致效能瓶頸。

安全性

權限

需要資料庫的 ALTER 權限。

使用 SQL Server Management Studio

變更目標復原時間

  1. 在 [物件總管] 中,連線至 SQL Server 資料庫引擎的執行個體,然後展開該執行個體。

  2. 以滑鼠右鍵按下您要變更的資料庫,然後按下 [ 屬性] 命令。

  3. 在 [ 資料庫屬性] 對話框中,按兩下 [ 選項 ] 頁面。

  4. 在 [復原] 面板中的 [目標復原時間 (秒)] 字段中,指定您要在此資料庫的復原時間上限秒數。

使用 TRANSACT-SQL

變更目標復原時間

  1. 連線到資料庫所在的 SQL Server 執行個體。

  2. 使用下列 ALTER DATABASE語句,如下所示:

    =TARGET_RECOVERY_TIME target_recovery_time { SECONDS |MINUTES }

    目標復原時間
    當大於 0 時,指定當機時所指定資料庫的復原時間上限。

    SECONDS
    指出 target_recovery_time 應以秒數表示。

    MINUTES
    指出 target_recovery_time 應以分鐘數表示。

    下列範例會將 AdventureWorks2012 資料庫的目標復原時間設定為60秒。

    ALTER DATABASE AdventureWorks2012 SET TARGET_RECOVERY_TIME = 60 SECONDS;  
    

另請參閱

資料庫檢查點 (SQL Server)
ALTER DATABASE SET 選項 (Transact-SQL)