Query Store'u aç, önerilen ayarları ver ve durumunu kontrol et
SQL ServerQuery StoreKomut
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);
-- Durum: actual_state READ_ONLY'ye dustuyse readonly_reason'a bak
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;Ne yapar?
Veritabanında Query Store'u açar; sorgu metinlerini, planları, runtime ve wait istatistiklerini zaman aralıklarıyla kalıcı olarak saklamaya başlar. Seçenekler depolama sınırı, temizleme ve yakalama modunu belirler.
Ne zaman kullanılır?
Yeni veritabanı canlıya alınırken, sürüm/compat level yükseltmesi öncesi (baseline için), plan regresyonu şüphesinde.
Dikkat
MAX_STORAGE_SIZE_MB dolarsa Query Store sessizce READ_ONLY'ye geçer (readonly_reason = 65536) ve yeni veri toplanmaz; current_storage_size_mb'yi izle. QUERY_CAPTURE_MODE = ALL yoğun ad-hoc iş yükünde depolamayı hızla doldurur ve ek yük getirir. Çok yoğun OLTP'de QDS_* wait'leri görülebilir. Kapatmak (OFF) toplanan veriyi silmez; CLEAR siler.