Включение 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 удаляет их.