sys.database_query_store_options (Transact-SQL)

Si applica a: SQL Server 2016 (13.x) e versioni successive del database SQL diAzure Istanzagestita di SQL di Azure Azure Synapse Analytics

Restituisce le opzioni di Query Store per questo database.

Si applica a: SQL Server (SQL Server 2016 (13.x) e versioni successive), database SQL.

Nome colonna Tipo di dati Descrizione
desired_state smallint Indica la modalità operativa desiderata di Query Store, impostata in modo esplicito dall'utente.
0 = Disattivato
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 = Disattivato
1 = READ_ONLY
2 = READ_WRITE
3 = ERRORE
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 può funzionare in modalità di sola lettura anche se l'utente ha specificato la lettura/scrittura.
- Negli scenari estremi Query Store può entrare in uno stato ERROR a causa di errori interni. A partire da SQL Server 2017 (14.x), 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), sarà necessario cancellare i dati eseguendo ALTER DATABASE [YourDatabaseName] SET QUERY_STORE CLEAR ALL;
readonly_reason int Quando il desired_state_desc è READ_WRITE e il actual_state_desc è READ_ONLY, readonly_reason restituisce una mappa bit per indicare il motivo per cui Query Store è in modalità readonly.

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 alla replica geografica del database SQL di Azure). Questo valore può essere osservato in modo efficace solo nelle repliche secondarie leggibili

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 (Transact-SQL).

131072: il numero di istruzioni diverse in Query Store ha raggiunto il limite di memoria interno. Provare a rimuovere query che non sono necessarie o non è necessario 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 sarà 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, query Store non può più aumentare.


Per tornare alla modalità operazioni di Query Store in lettura/scrittura, vedere La sezione Verificare che Query Store raccolga continuamente i dati delle query nella procedura consigliata con Query Store.
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 min).

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 seguenti: 1, 5, 10, 15, 30, 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 a partire da SQL Server 2019 (15,x).
Per l'edizione Premium del database SQL, l'impostazione predefinita è 1 GB, mentre per l'edizione Basic è 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 0 per disabilitare i criteri di conservazione.
Per l'edizione Basic del database SQL, l'impostazione predefinita è 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 su 0 rimuove la limitazione relativa al 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 : tutte le query vengono acquisite. Si tratta del valore di configurazione predefinito per SQL Server (SQL Server 2016 (13.x) e versioni successive.

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

3 = NONE - Interrompere l'acquisizione di nuove query. Query Store continuerà a raccogliere le statistiche di compilazione e runtime per le query che sono già state acquisite. Usare questa configurazione con cautela perché è possibile che non si acquisisca query importanti.

4 = CUSTOM : consente un controllo aggiuntivo 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))

AUTO (impostazione predefinita per il database SQL)

NONE

CUSTOM
capture_policy_execution_count int Opzione di criteri PERSONALIZZATa per la modalità 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 di criteri PERSONALIZZATa per la modalità 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 di criteri PERSONALIZZATa per la modalità acquisizione query. Definisce il tempo CPU di esecuzione trascorso totale usato da una query nel periodo di valutazione. L'impostazione predefinita è 100.
Si applica a: SQL Server 2019 (15.x) e versioni successive.
capture_policy_stale_threshold_hours int Opzione di criteri PERSONALIZZATa per la modalità 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 Determina se la pulizia viene attivata automaticamente quando la quantità totale dei dati ha quasi raggiunto le dimensioni massime:

0 = OFF : la pulizia basata sulle dimensioni non verrà attivata automaticamente.

1 = AUTO : la pulizia basata sulle dimensioni verrà attivata automaticamente quando le dimensioni del disco raggiungono il 90% dei 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'80% dei max_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 (impostazione predefinita)
wait_stats_capture_mode smallint Controlla se Query Store esegue l'acquisizione delle statistiche di attesa:

0 = Disattivato
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 (impostazione predefinita)
Si applica a: SQL Server 2017 (14.x) e versioni successive.
actual_state_additional_info nvarchar(8000) Attualmente inutilizzato.

Autorizzazioni

È necessaria l'autorizzazione VIEW DATABASE STATE.

Osservazioni:

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

Passaggi successivi