데이터베이스의 대상 복구 시간 변경(SQL Server)Change the Target Recovery Time of a Database (SQL Server)

이 항목에서는 SQL ServerSQL Server 또는 SQL Server 2017SQL Server 2017 을 사용하여 SQL Server Management StudioSQL Server Management Studio 에서 Transact-SQLTransact-SQL데이터베이스의 대상 복구 시간을 설정하거나 변경하는 방법에 대해 설명합니다.This topic describes how to set the change the target recovery time of a SQL ServerSQL Server database in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. 기본적으로 대상 복구 시간은 60초이고, 데이터베이스에서는 간접 검사점을 사용합니다.By default, the target recovery time is 60 seconds, and the database uses indirect checkpoints. 대상 복구 시간에서는 이 데이터베이스에 대한 복구 시간의 상한이 설정됩니다.The target recovery time establishes an upper-bound on recovery time for this database.

참고

장기 실행 트랜잭션으로 인해 UNDO 시간이 과도하게 길어지는 경우 주어진 데이터베이스에 대해 대상 복구 시간 설정에 지정된 상한이 초과될 수 있습니다.The upper-bound that is specified for a given database by its target recovery time setting could be exceeded if a long-running transaction causes excessive UNDO times.

시작하기 전에 Before You Begin

제한 사항 Limitations and Restrictions

주의

간접 검사점이 구성된 데이터베이스의 온라인 트랜잭션 작업으로 인해 성능이 저하될 수 있습니다.An online transactional workload on a database that is configured for indirect checkpoints could experience performance degradation. 간접 검사점은 데이터베이스 복구가 대상 복구 시간 내에 완료되도록 더티 페이지 수가 특정 임계값보다 적은지 확인합니다.Indirect checkpoints make sure that the number of dirty pages are below a certain threshold so that the database recovery completes within the target recovery time. 복구 간격 구성 옵션은 더티 페이지 수를 사용하는 간접 검사점과 달리 트랜잭션 수를 사용하여 복구 시간을 결정합니다.The recovery interval configuration option uses the number of transactions to determine the recovery time as opposed to indirect checkpoints which makes use of number of dirty pages. 많은 수의 DML 작업을 수신하는 데이터베이스에서 간접 검사점을 사용하도록 설정하는 경우 복구 수행에 필요한 시간이 데이터베이스의 대상 복구 시간 설정 내로 유지되도록 백그라운드 기록기가 더티 버퍼를 디스크로 적극적으로 플러시하기 시작할 수 있습니다.When indirect checkpoints are enabled on a database receiving a large number of DML operations, the background writer can start aggressively flushing dirty buffers to disk to ensure that the time required to perform recovery is within the target recovery time set of the database. 이로 인해 특정 시스템에서 추가 I/O 작업이 발생할 수 있으므로 디스크 하위 시스템이 I/O 임계값 위에서 또는 근처에서 작동하는 경우 성능 병목 현상에 영향을 줄 수 있습니다.This can cause additional I/O activity on certain systems which can contribute to a performance bottleneck if the disk subsystem is operating above or nearing the I/O threshold.

보안 Security

사용 권한 Permissions

데이터베이스에 대한 ALTER 권한이 필요합니다.Requires ALTER permission on the database.

SQL Server Management Studio 사용 Using SQL Server Management Studio

대상 복구 시간을 변경하려면To change the target recovery time

  1. 개체 탐색기에서 SQL Server 데이터베이스 엔진SQL Server Database Engine의 인스턴스에 연결한 다음 해당 인스턴스를 확장합니다.In Object Explorer, connect to an instance of the SQL Server 데이터베이스 엔진SQL Server Database Engine, and expand that instance.

  2. 변경할 데이터베이스를 마우스 오른쪽 단추로 클릭하고 속성 명령을 클릭합니다.Right-click the database you want to change, and click the Properties command.

  3. 데이터베이스 속성 대화 상자에서 옵션 페이지를 클릭합니다.In the Database Properties dialog box, click the Options page.

  4. 복구 패널의 대상 복구 시간(초) 필드에서 이 데이터베이스에 대한 복구 시간의 상한으로 사용할 시간(초)을 지정합니다.In the Recovery panel, in the Target Recovery Time (Seconds) field, specify the number of seconds that you want as the upper-bound on the recovery time for this database.

Transact-SQL 사용 Using Transact-SQL

대상 복구 시간을 변경하려면To change the target recovery time

  1. 데이터베이스가 있는 SQL ServerSQL Server 인스턴스에 연결합니다.Connect to the instance of SQL ServerSQL Server where the database resides.

  2. 다음 ALTER DATABASE문을 다음과 같이 사용합니다.Use the following ALTER DATABASEstatement, as follows:

    TARGET_RECOVERY_TIME =target_recovery_time { SECONDS | MINUTES }TARGET_RECOVERY_TIME =target_recovery_time { SECONDS | MINUTES }

    target_recovery_timetarget_recovery_time
    SQL Server 2016SQL Server 2016부터 기본값은 1분입니다.Beginning with SQL Server 2016SQL Server 2016, the default value is 1 minute. 0(이전 버전 기본값)보다 큰 경우 충돌 시 지정된 데이터베이스에 대한 복구 시간의 상한을 지정합니다.When greater than 0 (the default for older versions), specifies the upper-bound on the recovery time for the specified database in the event of a crash.

    SECONDSSECONDS
    target_recovery_time 이 초 단위로 표현됨을 나타냅니다.Indicates that target_recovery_time is expressed as the number of seconds.

    MINUTESMINUTES
    target_recovery_time 이 분 단위로 표현됨을 나타냅니다.Indicates that target_recovery_time is expressed as the number of minutes.

    다음 예에서는 AdventureWorks2012AdventureWorks2012 데이터베이스의 대상 복구 시간을 60 초로 설정합니다.The following example sets the target recovery time of the AdventureWorks2012AdventureWorks2012 database to 60 seconds.

    ALTER DATABASE AdventureWorks2012 SET TARGET_RECOVERY_TIME = 60 SECONDS;  
    

관련 항목:See Also

데이터베이스 검사점(SQL Server) Database Checkpoints (SQL Server)
ALTER DATABASE SET 옵션(Transact-SQL) ALTER DATABASE SET Options (Transact-SQL)