Dela via


sys.database_query_store_options (Transact-SQL)

Gäller för: SQL Server 2016 (13.x) och senare versioner Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL Database i Förhandsversion av Microsoft Fabric

Returnerar alternativen för Query Store för den här databasen.

Column name Data type Description
desired_state smallint Anger önskat åtgärdsläge för Query Store, som uttryckligen anges av användaren.

0 = OFF
1 = READ_ONLY
2 = READ_WRITE
4 = READ_CAPTURE_SECONDARY
desired_state_desc nvarchar(60) Textbeskrivning av önskat åtgärdsläge för Query Store:

OFF
READ_ONLY
READ_WRITE
READ_CAPTURE_SECONDARY
actual_state smallint Anger åtgärdsläget för Query Store. Förutom en lista över önskade tillstånd som krävs av användaren kan det faktiska tillståndet vara ett feltillstånd.

0 = OFF
1 = READ_ONLY
2 = READ_WRITE
3 = ERROR
4 = READ_CAPTURE_SECONDARY
actual_state_desc nvarchar(60) Textbeskrivning av det faktiska åtgärdsläget för Query Store.

OFF
READ_ONLY
READ_WRITE
ERROR
READ_CAPTURE_SECONDARY

Det finns situationer när det faktiska tillståndet skiljer sig från önskat tillstånd:
– Om databasen är inställd på skrivskyddat läge, eller om frågearkivets storlek överskrider den konfigurerade kvoten, kan Query Store fungera i skrivskyddat läge även om du anger skrivskyddad.
– I extrema scenarier kan Query Store ange ett feltillstånd på grund av interna fel. I SQL Server 2017 (14.x) och senare versioner kan du återställa Query Store genom att köra den sp_query_store_consistency_check lagrade proceduren i den berörda databasen. Om körningen sp_query_store_consistency_check inte fungerar eller om du använder SQL Server 2016 (13.x) måste du rensa data genom att köra ALTER DATABASE [YourDatabaseName] SET QUERY_STORE CLEAR ALL;
readonly_reason int desired_state_desc När är READ_WRITE och actual_state_desc är READ_ONLYreadonly_reason returnerar en bitkarta för att ange varför Query Store är i skrivskyddat läge.

1 – databasen är i skrivskyddat läge
2 – databasen är i enanvändarläge
4 - databasen är i nödläge
8 – databasen är sekundär replik (gäller för tillgänglighetsgrupper och geo-replikering i Azure SQL Database). Det här värdet kan endast observeras på readable sekundära repliker
65536 – Frågearkivet nådde den storleksgräns som angetts av max_storage_size_mb alternativet. Mer information om det här alternativet finns i ALTER DATABASE SET-alternativ.
131072 – Antalet olika instruktioner i Query Store nådde den interna minnesgränsen. Överväg att ta bort frågor som du inte behöver eller uppgradera till en högre tjänstnivå för att aktivera överföring av Query Store till läs- och skrivläge.
262144 – Storleken på minnesinterna objekt som väntar på att sparas på disken har nått den interna minnesgränsen. Query Store är tillfälligt i skrivskyddat läge tills minnesinterna objekt sparas på disken.
524288 – Databasen har nått diskstorleksgränsen. Query Store är en del av användardatabasen, så om det inte finns mer tillgängligt utrymme för en databas innebär det att Query Store inte längre kan växa.

Information om hur du växlar tillbaka query store-driftläget till skrivskyddad information finns i Kontrollera att Query Store samlar in frågedata kontinuerligt.
current_storage_size_mb bigint Storleken på Query Store på disken i megabyte.
flush_interval_seconds bigint Perioden för regelbunden tömning av Query Store-data till disk i sekunder. Standardvärdet är 900 (15 min).

Ändra med hjälp av -instruktionen ALTER DATABASE <database> SET QUERY_STORE (DATA_FLUSH_INTERVAL_SECONDS = <interval>) .
interval_length_minutes bigint Statistiksammanställningsintervallet i minuter. Godtyckliga värden tillåts inte. Använd något av följande värden: , , , , , och 601440 minuter. 30151051 Standardvärdet är 60 minuter.
max_storage_size_mb bigint Maximal diskstorlek för Query Store i megabyte (MB). Standardvärdet är 100 MB upp till SQL Server 2017 (14.x) och 1 GB i SQL Server 2019 (15.x) och senare versioner.

För SQL Database Premium Edition är standardvärdet 1 GB och för SQL Database Basic-utgåvan är standardvärdet 10 MB.

Ändra med hjälp av -instruktionen ALTER DATABASE <database> SET QUERY_STORE (MAX_STORAGE_SIZE_MB = <size>) .
stale_query_threshold_days bigint Antal dagar som informationen för en fråga sparas i Frågearkivet. Standardvärdet är 30. Ange till för att 0 inaktivera kvarhållningsprincipen.
För SQL Database Basic-utgåvan är standardvärdet 7 dagar.

Ändra med hjälp av -instruktionen ALTER DATABASE <database> SET QUERY_STORE (CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = <value>)) .
max_plans_per_query bigint Begränsar det maximala antalet lagrade planer. Standardvärdet är 200. Om det maximala värdet har nåtts slutar Query Store att samla in nya planer för frågan. Inställningen för att 0 ta bort begränsningen för antalet insamlade planer.

Ändra med hjälp av -instruktionen ALTER DATABASE<database> SET QUERY_STORE (MAX_PLANS_PER_QUERY = <n>) .
query_capture_mode smallint Det för närvarande aktiva frågeinsamlingsläget:

1 = ALL – alla frågor samlas in. Det här är standardkonfigurationsvärdet för SQL Server 2016 (13.x) och senare versioner.

2 = AUTO – samla in relevanta frågor baserat på körningsantal och resursförbrukning. Det här är standardkonfigurationsvärdet för SQL Database.

3 = NONE – sluta samla in nya frågor. Query Store fortsätter att samla in kompilerings- och körningsstatistik för frågor som redan har registrerats. Använd den här konfigurationen försiktigt eftersom du kanske saknar att samla in viktiga frågor.

4 = CUSTOM – Ger mer kontroll över frågeinsamlingsprincipen med hjälp av QUERY_CAPTURE_POLICY alternativ.

gäller för: SQL Server 2019 (15.x) och senare versioner.
query_capture_mode_desc nvarchar(60) Textbeskrivning av det faktiska avbildningsläget för Query Store:

ALL (standard för SQL Server 2016 (13.x) och senare versioner)

AUTO (standard för SQL Database)

NONE

CUSTOM
capture_policy_execution_count int Principalternativ för frågeinsamlingsläge CUSTOM . Definierar hur många gånger en fråga körs under utvärderingsperioden. Standardvärdet är 30.

gäller för: SQL Server 2019 (15.x) och senare versioner.
capture_policy_total_compile_cpu_time_ms bigint Principalternativ för frågeinsamlingsläge CUSTOM . Definierar den totala förflutna kompileringstiden för cpu som används av en fråga under utvärderingsperioden. Standardvärdet är 1 000.

gäller för: SQL Server 2019 (15.x) och senare versioner.
capture_policy_total_execution_cpu_time_ms bigint Principalternativ för frågeinsamlingsläge CUSTOM . Definierar den totala förflutna körningens CPU-tid som används av en fråga under utvärderingsperioden. Standardvärdet är 100.

gäller för: SQL Server 2019 (15.x) och senare versioner.
capture_policy_stale_threshold_hours int Principalternativ för frågeinsamlingsläge CUSTOM . Definierar utvärderingsintervallperioden för att avgöra om en fråga ska samlas in. Standardvärdet är 24 timmar.

gäller för: SQL Server 2019 (15.x) och senare versioner.
size_based_cleanup_mode smallint Styr om rensning aktiveras automatiskt när den totala mängden data närmar sig maximal storlek:

0 = OFF – storleksbaserad rensning aktiveras inte automatiskt.
1 = AUTO – storleksbaserad rensning aktiveras automatiskt när storleken på disken når 90 procent av max_storage_size_mb. Det här är standardkonfigurationsvärdet.

Storleksbaserad rensning tar bort de billigaste och äldsta frågorna först. Den stoppas när cirka 80 procent av max_storage_size_mb uppnås.
size_based_cleanup_mode_desc nvarchar(60) Textbeskrivning av det faktiska storleksbaserade rensningsläget i Query Store:

OFF
AUTO (standardinställning)
wait_stats_capture_mode smallint Styr om Query Store utför insamling av väntestatistik:

0 = OFF
1 = ON

gäller för: SQL Server 2017 (14.x) och senare versioner.
wait_stats_capture_mode_desc nvarchar(60) Textbeskrivning av det faktiska avbildningsläget för väntestatistik:

OFF
ON (standardinställning)

gäller för: SQL Server 2017 (14.x) och senare versioner.
actual_state_additional_info nvarchar(4000) Currently unused.

Permissions

Kräver behörigheten VIEW DATABASE STATE.

Remarks

Ett actual_state_desc värde för READ_CAPTURE_SECONDARY är det förväntade tillståndet när Query Store för sekundära repliker är aktiverat. För mer information, se Query Store för sekundära repliker.