次の方法で共有


データベースのターゲットの復旧時間の変更 (SQL Server)

このトピックでは、SQL Server Management Studio または Transact-SQL を使用して、SQL Server 2014 の SQL Server データベースの目標復旧時間を変更する方法について説明します。 既定では、ターゲットの復旧時間は 0 で、データベースは 自動チェックポイント ( 復旧間隔 サーバー オプションによって制御されます) を使用します。 ターゲットの復旧時間を 0 より大きい値に設定すると、データベースは 間接的なチェックポイント を使用するようになり、このデータベースの復旧時間に上限を設定します。

Note

ターゲットの復旧時間の設定によって特定のデータベースに対して指定された上限は、実行時間の長いトランザクションによって UNDO が過度に繰り返される場合には超過することがあります。

始める前に

注意事項

間接チェックポイントが構成されたデータベースでオンライン トランザクション ワークロードが生じると、パフォーマンスが低下することがあります。 間接チェックポイントは、ターゲットの復旧時間内でデータベースの回復が完了するように、ダーティ ページの数が特定のしきい値を下回るようにします。 復旧間隔構成オプションは、ダーティ ページ数を使用する間接チェックポイントとは異なり、トランザクション数を使用して復旧時間を決定します。 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 }

    target_recovery_time
    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)