데이터베이스의 대상 복구 시간 변경(SQL Server)

이 항목에서는 SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server 2014에서 SQL Server 데이터베이스의 대상 복구 시간을 변경하는 방법을 설명합니다. 기본적으로 대상 복구 시간은 0이며 데이터베이스는 자동 검사점(복구 간격 서버 옵션에 의해 제어됨)을 사용합니다. 대상 복구 시간을 0보다 크게 설정하면 데이터베이스에서 간접 검사점을 사용하고 이 데이터베이스의 복구 시간에 상한을 설정합니다.

참고 항목

장기 실행 트랜잭션으로 인해 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)