Query Store aktivieren, empfohlene Einstellungen anwenden und Zustand prüfen
SQL ServerQuery StoreBefehl
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;Was es tut
Aktiviert Query Store in der Datenbank; beginnt, Abfragetexte, Pläne, Laufzeit- und Wait-Statistiken in Zeitintervallen dauerhaft zu speichern. Die Optionen legen Speicherlimit, Bereinigung und Capture-Modus fest.
Wann einsetzen
Wenn eine neue Datenbank live geht, vor einem Versions-/Compatibility-Level-Upgrade (als Baseline) oder bei Verdacht auf eine Planregression.
Vorsicht
Ist MAX_STORAGE_SIZE_MB erreicht, schaltet Query Store stillschweigend auf READ_ONLY (readonly_reason = 65536) und sammelt nicht mehr; überwache current_storage_size_mb. QUERY_CAPTURE_MODE = ALL füllt den Speicher schnell und erzeugt bei starker Ad-hoc-Last Overhead. Sehr ausgelastete OLTP-Systeme können QDS_*-Waits zeigen. OFF behält die gesammelten Daten; CLEAR löscht sie.