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 Azure Synapse Analytics
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 lettura2 - il database è in modalità utente singolo4 - il database è in modalità di emergenza8 - 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 secondarie65536 - 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 , 5 10 , , 30 15 , 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'80 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 (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.
Contenuto correlato
- sys.query_context_settings (Transact-SQL)
- sys.query_store_plan (Transact-SQL)
- sys.query_store_query (Transact-SQL)
- sys.query_store_query_text (Transact-SQL)
- sys.query_store_runtime_stats (Transact-SQL)
- sys.query_store_wait_stats (Transact-SQL)
- sys.query_store_runtime_stats_interval (Transact-SQL)
- Monitoraggio delle prestazioni tramite Query Store
- Viste del catalogo di sistema (Transact-SQL)
- sys.fn_stmt_sql_handle_from_sql_stmt (Transact-SQL)
- Stored procedure di Query Store (Transact-SQL)