DBAtlas · 데이터베이스 운영 아틀라스

Query Store 활성화, 권장 설정 적용, 상태 확인

SQL ServerQuery Store

명령어

ALTER DATABASE [Musteri] SET QUERY_STORE = ON;
ALTER DATABASE [Musteri] SET QUERY_STORE (
    OPERATION_MODE = READ_WRITE,
    QUERY_CAPTURE_MODE = AUTO,
    MAX_STORAGE_SIZE_MB = 2048,
    INTERVAL_LENGTH_MINUTES = 15,
    DATA_FLUSH_INTERVAL_SECONDS = 900,
    CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = 30),
    SIZE_BASED_CLEANUP_MODE = AUTO,
    MAX_PLANS_PER_QUERY = 200,
    WAIT_STATS_CAPTURE_MODE = ON);

-- State: if actual_state dropped to READ_ONLY, check readonly_reason
USE [Musteri];
SELECT actual_state_desc, desired_state_desc, readonly_reason,
       current_storage_size_mb, max_storage_size_mb,
       query_capture_mode_desc, size_based_cleanup_mode_desc, wait_stats_capture_mode_desc
FROM   sys.database_query_store_options;

하는 일

데이터베이스에서 Query Store를 활성화한다. 쿼리 텍스트, 실행 계획, 런타임 및 대기 통계를 시간 구간별로 저장하기 시작한다. 옵션은 저장 한도, 정리, 캡처 모드를 정의한다.

사용 시점

새 데이터베이스가 운영에 들어갈 때, 버전/호환성 수준 업그레이드 전(baseline 확보), 또는 실행 계획 회귀가 의심될 때.

주의

MAX_STORAGE_SIZE_MB에 도달하면 Query Store는 조용히 READ_ONLY(readonly_reason = 65536)로 전환되어 수집을 멈추므로 current_storage_size_mb를 모니터링한다. QUERY_CAPTURE_MODE = ALL은 ad-hoc 워크로드가 많을 때 저장 공간을 빠르게 채우고 오버헤드를 추가한다. 매우 바쁜 OLTP 시스템에서는 QDS_* 대기가 나타날 수 있다. OFF로 전환하면 수집된 데이터는 유지되고 CLEAR는 삭제한다.

DBAtlas에서 열기 →

관련 항목