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 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)