Condividi tramite


sys.database_query_store_options (Transact-SQL)

Si applica a: SQL Server 2016 (13.x) e versioni successive database SQL di Azure Istanza gestita di SQL di Azure database SQL di Azure Synapse Analytics in Microsoft Fabric

Restituisce le opzioni di Query Store per questo database.

Nome colonna Tipo di dati Descrizione
desired_state smallint Indica la modalità operativa desiderata di Query Store, impostata in modo esplicito dall'utente.

0 = OFF
1 = READ_ONLY
2 = READ_WRITE
4 = READ_CAPTURE_SECONDARY
desired_state_desc nvarchar(60) Descrizione testuale della modalità operativa desiderata di Query Store:

OFF
READ_ONLY
READ_WRITE
READ_CAPTURE_SECONDARY
actual_state smallint Indica la modalità operativa di Query Store. Oltre all'elenco degli stati desiderati richiesti dall'utente, lo stato effettivo può essere uno stato di errore.

0 = OFF
1 = READ_ONLY
2 = READ_WRITE
3 = ERROR
4 = READ_CAPTURE_SECONDARY
actual_state_desc nvarchar(60) Descrizione testuale della modalità operativa effettiva di Query Store.

OFF
READ_ONLY
READ_WRITE
ERROR
READ_CAPTURE_SECONDARY

Esistono situazioni in cui lo stato effettivo è diverso dallo stato desiderato:
- Se il database è impostato sulla modalità di sola lettura o se le dimensioni di Query Store superano la quota configurata, Query Store potrebbe funzionare in modalità di sola lettura anche se si specifica lettura/scrittura.
- Negli scenari estremi Query Store può entrare in uno stato ERROR a causa di errori interni. In SQL Server 2017 (14.x) e versioni successive, in questo caso, Query Store può essere recuperato eseguendo la sp_query_store_consistency_check stored procedure nel database interessato. Se l'esecuzione sp_query_store_consistency_check non funziona o se si usa SQL Server 2016 (13.x), è necessario cancellare i dati eseguendo ALTER DATABASE [YourDatabaseName] SET QUERY_STORE CLEAR ALL;
readonly_reason int desired_state_desc Quando è READ_WRITE e actual_state_desc è READ_ONLY, readonly_reason restituisce una mappa bit per indicare il motivo per cui Query Store è in modalità di sola lettura.

1 - il database è in modalità di sola lettura
2 - il database è in modalità utente singolo
4 - il database è in modalità di emergenza
8- il database è una replica secondaria (si applica ai gruppi di disponibilità e database SQL di Azure replica geografica). Questo valore può essere osservato in modo efficace solo nelle readable repliche secondarie
65536 - Query Store ha raggiunto il limite di dimensioni impostato dall'opzione max_storage_size_mb . Per altre informazioni su questa opzione, vedere Opzioni ALTER DATABASE SET.
131072 - Il numero di istruzioni diverse in Query Store ha raggiunto il limite di memoria interno. Valutare la possibilità di rimuovere le query che non sono necessarie o di eseguire l'aggiornamento a un livello di servizio superiore per abilitare il trasferimento di Query Store alla modalità di lettura/scrittura.
262144 - Le dimensioni degli elementi in memoria in attesa di essere mantenuti nel disco hanno raggiunto il limite di memoria interno. Query Store è in modalità di sola lettura temporaneamente fino a quando gli elementi in memoria non vengono salvati in modo permanente su disco.
524288 - Il database ha raggiunto il limite di dimensioni del disco. Query Store fa parte del database utente, quindi se non è più disponibile spazio per un database, ciò significa che Query Store non può più crescere ulteriormente.

Per tornare alla modalità operazioni di Query Store in lettura/scrittura, vedere Verificare che Query Store raccoglie i dati delle query in modo continuo.
current_storage_size_mb bigint Dimensioni di Query Store su disco in megabyte.
flush_interval_seconds bigint Periodo per lo scaricamento regolare dei dati di Query Store su disco in pochi secondi. Il valore predefinito è 900 (15 minuti).

Modificare usando l'istruzione ALTER DATABASE <database> SET QUERY_STORE (DATA_FLUSH_INTERVAL_SECONDS = <interval>) .
interval_length_minutes bigint Intervallo di aggregazione delle statistiche in minuti. I valori arbitrari non sono consentiti. Usare uno dei valori seguenti: 1, 510, , 3015, 60, e 1440 minuti. Il valore predefinito è 60 minuti.
max_storage_size_mb bigint Dimensioni massime del disco per Query Store in megabyte (MB). Il valore predefinito è 100 MB fino a SQL Server 2017 (14.x) e 1 GB in SQL Server 2019 (15.x) e versioni successive.

Per database SQL Edizione Premium, il valore predefinito è 1 GB e per database SQL edizione Basic il valore predefinito è 10 MB.

Modificare usando l'istruzione ALTER DATABASE <database> SET QUERY_STORE (MAX_STORAGE_SIZE_MB = <size>) .
stale_query_threshold_days bigint Numero di giorni in cui le informazioni per una query vengono mantenute in Query Store. Il valore predefinito è 30. Impostare su per 0 disabilitare i criteri di conservazione.
Per database SQL Basic Edition, il valore predefinito è 7 giorni.

Modificare usando l'istruzione ALTER DATABASE <database> SET QUERY_STORE (CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = <value>)) .
max_plans_per_query bigint Limita il numero massimo di piani archiviati. Il valore predefinito è 200. Se viene raggiunto il valore massimo, Query Store interrompe l'acquisizione di nuovi piani per tale query. L'impostazione per 0 rimuovere la limitazione per il numero di piani acquisiti.

Modificare usando l'istruzione ALTER DATABASE<database> SET QUERY_STORE (MAX_PLANS_PER_QUERY = <n>) .
query_capture_mode smallint Modalità di acquisizione query attualmente attiva:

1 = ALL - vengono acquisite tutte le query. Si tratta del valore di configurazione predefinito per SQL Server 2016 (13.x) e versioni successive.

2 = AUTO : acquisire query pertinenti in base al numero di esecuzioni e al consumo di risorse. Questo è il valore di configurazione predefinito per database SQL.

3 = NONE - interrompere l'acquisizione di nuove query. Query Store continua a raccogliere statistiche di compilazione e runtime per le query già acquisite. Usare questa configurazione con cautela perché potrebbe non essere possibile acquisire query importanti.

4 = CUSTOM - Consente un maggiore controllo sui criteri di acquisizione query usando le opzioni di QUERY_CAPTURE_POLICY.

Si applica a: SQL Server 2019 (15.x) e versioni successive.
query_capture_mode_desc nvarchar(60) Descrizione testuale della modalità di acquisizione effettiva di Query Store:

ALL (impostazione predefinita per SQL Server 2016 (13.x) e versioni successive)

AUTO(impostazione predefinita per database SQL)

NONE

CUSTOM
capture_policy_execution_count int Opzione dei criteri della modalità CUSTOM di acquisizione query. Definisce il numero di esecuzioni di una query nel periodo di valutazione. Il valore predefinito è 30.

Si applica a: SQL Server 2019 (15.x) e versioni successive.
capture_policy_total_compile_cpu_time_ms bigint Opzione dei criteri della modalità CUSTOM di acquisizione query. Definisce il tempo CPU di compilazione trascorso totale usato da una query nel periodo di valutazione. Il valore predefinito è 1000.

Si applica a: SQL Server 2019 (15.x) e versioni successive.
capture_policy_total_execution_cpu_time_ms bigint Opzione dei criteri della modalità CUSTOM di acquisizione query. Definisce il tempo CPU di esecuzione trascorso totale usato da una query nel periodo di valutazione. Il valore predefinito è 100.

Si applica a: SQL Server 2019 (15.x) e versioni successive.
capture_policy_stale_threshold_hours int Opzione dei criteri della modalità CUSTOM di acquisizione query. Definisce l'intervallo di valutazione per determinare se una query deve essere acquisita. Il valore predefinito è 24 ore.

Si applica a: SQL Server 2019 (15.x) e versioni successive.
size_based_cleanup_mode smallint Controlla se la pulizia viene attivata automaticamente quando la quantità totale di dati si avvicina alla dimensione massima:

0 = OFF - La pulizia basata sulle dimensioni non viene attivata automaticamente.
1 = AUTO - La pulizia basata sulle dimensioni viene attivata automaticamente quando le dimensioni del disco raggiungono il 90% di max_storage_size_mb. Si tratta del valore di configurazione predefinito.

La pulizia basata sulle dimensioni rimuove per prime le query meno recenti e meno dispendiose. Si arresta quando viene raggiunto circa l'80max_storage_size_mb%.
size_based_cleanup_mode_desc nvarchar(60) Descrizione testuale della modalità di pulizia effettiva basata sulle dimensioni di Query Store:

OFF
AUTO (predefinito)
wait_stats_capture_mode smallint Controlla se Query Store esegue l'acquisizione delle statistiche di attesa:

0 = OFF
1 = ON

Si applica a: SQL Server 2017 (14.x) e versioni successive.
wait_stats_capture_mode_desc nvarchar(60) Descrizione testuale della modalità di acquisizione delle statistiche di attesa effettive:

OFF
ON (predefinito)

Si applica a: SQL Server 2017 (14.x) e versioni successive.
actual_state_additional_info nvarchar(4000) Attualmente inutilizzato.

Autorizzazioni

È necessaria l'autorizzazione VIEW DATABASE STATE.

Osservazioni:

Un actual_state_desc valore è READ_CAPTURE_SECONDARY lo stato previsto quando Query Store per le repliche secondarie è abilitato. Per altre informazioni, vedere Query Store per repliche secondarie.