본문 바로가기

Program/DB

SQL Server CHECKPOINT(체크포인트)

CHECKPOINT란?

  • 메모리의 수정된 페이지(Dirty Page)와 트랜잭션 로그 정보를 디스크에 기록.
  • 예기치 않은 종료 후 복구 프로세스에서 복구를 시작하는 기준점.

 

CHECKPOINT 종류

  • Automatic(자동)
    • 시스템에서 자동으로 CHECKPOINT를 발생 시킴.
    • 발생 주기는 sp_configure에서 'recovrery interval (min)' 항목으로 설정.
    • 기본값은 0 (복구 예상 시간이 1분 미만).
  • Indirect(간접)
    • 2012 버전부터 도입.
    • 발생 주기는 DB 옵션중 TARGET_RECOVERY_TIME 으로 설정 (0으로 설정시 Automatic 사용).
    • 2016 버전부터는 model, tempdb에 기본으로 적용되고 발생 주기는 60 SECONDS.
  • Manual(수동)
    • CHECKPOINT [duration(s)] 명령으로 실행.
    • 현재 사용중인(USE) DB에서만 실행 가능.
  • Internal(내부)
    • DB 옵션변경, DB 백업, DB 파일 추가 및 제거, 서비스 클린 종료 등의 이벤트 발생시 실행.

(TF3505 사용 시 Automatic, Indirect CHECKPOINT disable)

 

 

CHECKPOINT 모니터링

  • Automatic - Checkpoint pages/sec
  • Indirect - Background writer pages/sec
  • TF 3502, 3504, 3605 (errorlog 기록)

 

CHECKPOINT 성능 제어

  • Automatic, Indirect - 데이터베이스 엔진 시작 옵션 중 -k 옵션으로 I/O 조절.
  • Manual - 명령어 뒤에 실행 시간 입력.

 

 

 

 

데이터베이스 검사점(SQL Server) - SQL Server | Microsoft Docs

 

데이터베이스 검사점(SQL Server) - SQL Server

복구 중 SQL Server 데이터베이스 엔진이 로그에 포함된 변경 내용을 적용하기 시작할 수 있는 확인된 지점인 검사점에 대해 알아봅니다.

docs.microsoft.com

CHECKPOINT(Transact-SQL) - SQL Server | Microsoft Docs

 

CHECKPOINT(Transact-SQL) - SQL Server

CHECKPOINT(Transact-SQL)

docs.microsoft.com

데이터베이스 엔진 서비스 시작 옵션 - SQL Server | Microsoft Docs

 

데이터베이스 엔진 서비스 시작 옵션 - SQL Server

SQL Server 데이터베이스 엔진 시작 옵션에 대해 알아봅니다. 사용 방법에 대한 팁을 확인하고 각 옵션의 용도에 대해 알아봅니다.

docs.microsoft.com