MSSQL query store: differenze tra le versioni

Da Emigar.
Vai alla navigazione Vai alla ricerca
Contenuto cancellato Contenuto aggiunto
Riga 7: Riga 7:
MAX_STORAGE_SIZE_MB = 1000, -- Spazio massimo occupato dal Query Store (es. 1 GB)
MAX_STORAGE_SIZE_MB = 1000, -- Spazio massimo occupato dal Query Store (es. 1 GB)
QUERY_CAPTURE_MODE = AUTO -- Modalità di cattura (cattura le query rilevanti evitando il rumore)
QUERY_CAPTURE_MODE = AUTO -- Modalità di cattura (cattura le query rilevanti evitando il rumore)
);


==disattiva query store==
ALTER DATABASE [NomeTuoDatabase]
SET QUERY_STORE = ON (
OPERATION_MODE = READ_ONLY, -- Impedisce qualsiasi scrittura/cancellazione
QUERY_CAPTURE_MODE = NONE, -- Disattiva la cattura di nuove query
CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = 0), -- 0 = Disabilita la pulizia automatica per età
SIZE_BASED_CLEANUP_MODE = OFF -- Disabilita la pulizia al raggiungimento del limite di spazio
);
);



Versione delle 15:33, 11 set 2026

attivare query store

ALTER DATABASE [NomeTuoDatabase] 
SET QUERY_STORE = ON (
   OPERATION_MODE = READ_WRITE,                -- Attiva la raccolta dati
   CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = 30), -- Conserva i dati per 30 giorni (regolabile)
   INTERVAL_LENGTH_MINUTES = 60,               -- Intervallo di aggregazione (es. 1 ora)
   MAX_STORAGE_SIZE_MB = 1000,                 -- Spazio massimo occupato dal Query Store (es. 1 GB)
   QUERY_CAPTURE_MODE = AUTO                   -- Modalità di cattura (cattura le query rilevanti evitando il rumore)
);


disattiva query store

ALTER DATABASE [NomeTuoDatabase]
SET QUERY_STORE = ON (
   OPERATION_MODE = READ_ONLY,                         -- Impedisce qualsiasi scrittura/cancellazione
   QUERY_CAPTURE_MODE = NONE,                          -- Disattiva la cattura di nuove query
   CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = 0), -- 0 = Disabilita la pulizia automatica per età
   SIZE_BASED_CLEANUP_MODE = OFF                       -- Disabilita la pulizia al raggiungimento del limite di spazio
);

interrogare query store

Verifica se attivo.

SELECT 
   desired_state_desc, 
   actual_state_desc, 
   readonly_reason, 
   current_storage_size_mb, 
   max_storage_size_mb
FROM sys.database_query_store_options;


analizzare query

SELECT
    qt.query_sql_text,
    rs.avg_duration,
    rs.count_executions,
    rs.avg_cpu_time,
    rsi.start_time,
    rsi.end_time
FROM sys.query_store_runtime_stats rs
JOIN sys.query_store_runtime_stats_interval rsi
    ON rs.runtime_stats_interval_id = rsi.runtime_stats_interval_id
JOIN sys.query_store_plan p
    ON rs.plan_id = p.plan_id
JOIN sys.query_store_query q
    ON p.query_id = q.query_id
JOIN sys.query_store_query_text qt
    ON q.query_text_id = qt.query_text_id
WHERE rsi.start_time >= '2026-06-11 14:00'
  AND rsi.end_time   <= '2026-06-11 16:00';