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 в базе данных; начинает сохранять тексты запросов, планы, статистику выполнения и ожиданий по временным интервалам. Параметры задают лимит хранилища, очистку и режим захвата.

Когда использовать

Когда новая база вводится в эксплуатацию, перед обновлением версии/уровня совместимости (для базовой линии) или при подозрении на регрессию плана.

Внимание

По достижении 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 →

Связанные материалы