Sdílet prostřednictvím


sys.database_query_store_options (Transact-SQL)

Platí na: SQL Server 2016 (13.x) a nowše verzie Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL database in Microsoft Fabric

Vrátí možnosti úložiště dotazů pro tuto databázi.

Název sloupce Datový typ Description
desired_state smallint Označuje požadovaný režim operace úložiště dotazů explicitně nastavený uživatelem.

0 = OFF
1 = READ_ONLY
2 = READ_WRITE
4 = READ_CAPTURE_SECONDARY
desired_state_desc nvarchar(60) Textový popis požadovaného režimu operace úložiště dotazů:

OFF
READ_ONLY
READ_WRITE
READ_CAPTURE_SECONDARY
actual_state smallint Označuje režim operace úložiště dotazů. Kromě seznamu požadovaných stavů vyžadovaných uživatelem může být skutečný stav chybový stav.

0 = OFF
1 = READ_ONLY
2 = READ_WRITE
3 = ERROR
4 = READ_CAPTURE_SECONDARY
actual_state_desc nvarchar(60) Textový popis skutečného režimu operace úložiště dotazů.

OFF
READ_ONLY
READ_WRITE
ERROR
READ_CAPTURE_SECONDARY

Existují situace, kdy se skutečný stav liší od požadovaného stavu:
– Pokud je databáze nastavená na režim jen pro čtení nebo pokud velikost úložiště dotazů překračuje nakonfigurovanou kvótu, úložiště dotazů může fungovat v režimu jen pro čtení i v případě, že zadáte čtení i zápis.
– V extrémních scénářích může úložiště dotazů zadat stav ERROR kvůli interním chybám. V SQL Serveru 2017 (14.x) a novějších verzích se v takovém případě dá úložiště dotazů obnovit spuštěním sp_query_store_consistency_check uložené procedury v ovlivněné databázi. Pokud spuštění sp_query_store_consistency_check nefunguje nebo pokud používáte SQL Server 2016 (13.x), musíte data vymazat spuštěním příkazu ALTER DATABASE [YourDatabaseName] SET QUERY_STORE CLEAR ALL;
readonly_reason int Pokud je a desired_state_descREAD_WRITEactual_state_desc je READ_ONLY, readonly_reason vrátí bitovou mapu označující, proč je úložiště dotazů v režimu jen pro čtení.

1 – databáze je v režimu jen pro čtení.
2 – databáze je v režimu jednoho uživatele
4 – databáze je v nouzovém režimu
8 – databáze je sekundární replika (platí pro skupiny dostupnosti a geografickou replikaci služby Azure SQL Database). Tuto hodnotu lze efektivně pozorovat pouze na readable sekundárních replikách.
65536 – Úložiště dotazů dosáhlo limitu velikosti nastaveného možností max_storage_size_mb . Další informace o této možnosti naleznete v tématu ALTER DATABASE SET možnosti.
131072 – Počet různých příkazů v úložišti dotazů dosáhl limitu interní paměti. Zvažte odebrání dotazů, které nepotřebujete nebo upgradujete na vyšší úroveň služby, abyste umožnili přenos úložiště dotazů do režimu čtení a zápisu.
262144 - Velikost položek v paměti čekajících na trvalé uložení na disku dosáhla limitu interní paměti. Úložiště dotazů je dočasně v režimu jen pro čtení, dokud se položky v paměti nezachovají na disku.
524288 – Databáze dosáhla limitu velikosti disku. Úložiště dotazů je součástí uživatelské databáze, takže pokud pro databázi není k dispozici žádné volné místo, znamená to, že úložiště dotazů už nemůže dále růst.

Pokud chcete přepnout režim operací úložiště dotazů zpět na čtení i zápis, přečtěte si téma Ověření, že úložiště dotazů shromažďuje data dotazů nepřetržitě.
current_storage_size_mb bigint Velikost úložiště dotazů na disku v megabajtech
flush_interval_seconds bigint Období pro pravidelné vyprázdnění dat úložiště dotazů na disk v sekundách. Výchozí hodnota je 900 (15 min).

Změňte pomocí příkazu ALTER DATABASE <database> SET QUERY_STORE (DATA_FLUSH_INTERVAL_SECONDS = <interval>) .
interval_length_minutes bigint Interval agregace statistik v minutách. Libovolné hodnoty nejsou povolené. Použijte jednu z následujících hodnot: 1, , 510, 15, 30, , 60, a 1440 minuty. Výchozí hodnota je 60 minut.
max_storage_size_mb bigint Maximální velikost disku úložiště dotazů v megabajtech (MB). Výchozí hodnota je 100 MB až SQL Server 2017 (14.x) a 1 GB v SQL Serveru 2019 (15.x) a novějších verzích.

Pro edici SQL Database Premium je výchozí 1 GB a pro edici SQL Database Basic je výchozí 10 MB.

Změňte pomocí příkazu ALTER DATABASE <database> SET QUERY_STORE (MAX_STORAGE_SIZE_MB = <size>) .
stale_query_threshold_days bigint Počet dnů, po které se informace pro dotaz uchovávají v úložišti dotazů. Výchozí hodnota je 30. Nastavte na zakázání 0 zásad uchovávání informací.
Pro edici SQL Database Basic je výchozí hodnota 7 dní.

Změňte pomocí příkazu ALTER DATABASE <database> SET QUERY_STORE (CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = <value>)) .
max_plans_per_query bigint Omezuje maximální počet uložených plánů. Výchozí hodnota je 200. Pokud dosáhnete maximální hodnoty, úložiště dotazů přestane zachytávat nové plány pro tento dotaz. Nastavení pro 0 odebrání omezení počtu zachycených plánů

Změňte pomocí příkazu ALTER DATABASE<database> SET QUERY_STORE (MAX_PLANS_PER_QUERY = <n>) .
query_capture_mode smallint Aktuálně aktivní režim zachytávání dotazů:

1 = ALL – všechny dotazy jsou zachyceny. Toto je výchozí hodnota konfigurace pro SQL Server 2016 (13.x) a novější verze.

2 = AUTO – zachytávání relevantních dotazů na základě počtu spuštění a spotřeby prostředků. Toto je výchozí hodnota konfigurace pro SLUŽBU SQL Database.

3 = NONE - přestat zachytávat nové dotazy. Úložiště dotazů nadále shromažďuje statistiky kompilace a modulu runtime pro dotazy, které byly zachyceny. Tuto konfiguraci používejte obezřetně, protože byste mohli vynechat zachytávání důležitých dotazů.

4 = CUSTOM – Umožňuje větší kontrolu nad zásadou zachytávání dotazů pomocí možností QUERY_CAPTURE_POLICY.

platí pro: SQL Server 2019 (15.x) a novější verze.
query_capture_mode_desc nvarchar(60) Textový popis skutečného režimu zachycení úložiště dotazů:

ALL (výchozí pro SQL Server 2016 (13.x) a novější verze)

AUTO (výchozí nastavení pro SLUŽBU SQL Database)

NONE

CUSTOM
capture_policy_execution_count int Možnost zásad režimu CUSTOM zachytávání dotazů Definuje, kolikrát se dotaz provádí během období vyhodnocení. Výchozí hodnota je 30.

platí pro: SQL Server 2019 (15.x) a novější verze.
capture_policy_total_compile_cpu_time_ms bigint Možnost zásad režimu CUSTOM zachytávání dotazů Definuje celkovou uplynulou dobu kompilace procesoru používanou dotazem během období vyhodnocení. Výchozí hodnota je 1000.

platí pro: SQL Server 2019 (15.x) a novější verze.
capture_policy_total_execution_cpu_time_ms bigint Možnost zásad režimu CUSTOM zachytávání dotazů Definuje celkovou uplynulou dobu výkonu procesoru používanou dotazem během období vyhodnocení. Výchozí hodnota je 100.

platí pro: SQL Server 2019 (15.x) a novější verze.
capture_policy_stale_threshold_hours int Možnost zásad režimu CUSTOM zachytávání dotazů Definuje období intervalu vyhodnocení, které určuje, jestli se má dotaz zachytit. Výchozí hodnota je 24 hodin.

platí pro: SQL Server 2019 (15.x) a novější verze.
size_based_cleanup_mode smallint Určuje, jestli se čištění aktivuje automaticky, když se celkové množství dat blíží maximální velikosti:

0 = OFF – Čištění na základě velikosti se neaktivuje automaticky.
1 = AUTO - Čištění na základě velikosti je automaticky aktivováno, když velikost na disku dosáhne 90 procentmax_storage_size_mb. Toto je výchozí hodnota konfigurace.

Čištění na základě velikosti nejprve odebere nejméně nákladné a nejstarší dotazy. Zastaví se, když se dosáhne přibližně 80 procentmax_storage_size_mb.
size_based_cleanup_mode_desc nvarchar(60) Textový popis skutečného režimu čištění založeného na velikosti úložiště dotazů:

OFF
AUTO (výchozí)
wait_stats_capture_mode smallint Určuje, jestli úložiště dotazů provádí zachytávání statistik čekání:

0 = OFF
1 = ON

platí pro: SQL Server 2017 (14.x) a novější verze.
wait_stats_capture_mode_desc nvarchar(60) Textový popis skutečného režimu zachycení statistik čekání:

OFF
ON (výchozí)

platí pro: SQL Server 2017 (14.x) a novější verze.
actual_state_additional_info nvarchar(4000) Aktuálně se nepoužívá.

Permissions

Vyžaduje oprávnění VIEW DATABASE STATE.

Remarks

Hodnota actual_state_descREAD_CAPTURE_SECONDARY je očekávaný stav, když je povolené úložiště dotazů pro sekundární repliky. Další informace najdete v tématu Úložiště dotazů pro sekundární repliky.