Megosztás a következőn keresztül:


sys.database_query_store_options (Transact-SQL)

A következőkre vonatkozik: Az SQL Server 2016 (13.x) és újabb verziói Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL Database a Microsoft Fabricben

Az adatbázis lekérdezéstár-beállításait adja vissza.

Oszlop név Adattípus Description
desired_state smallint A Lekérdezéstár kívánt működési módját jelzi, amelyet a felhasználó kifejezetten állít be.

0 = OFF
1 = READ_ONLY
2 = READ_WRITE
4 = READ_CAPTURE_SECONDARY
desired_state_desc nvarchar(60) A Lekérdezéstár kívánt működési módjának szöveges leírása:

OFF
READ_ONLY
READ_WRITE
READ_CAPTURE_SECONDARY
actual_state smallint A Lekérdezéstár működési módját jelzi. A felhasználó által igényelt kívánt állapotok listája mellett a tényleges állapot hibaállapot is lehet.

0 = OFF
1 = READ_ONLY
2 = READ_WRITE
3 = ERROR
4 = READ_CAPTURE_SECONDARY
actual_state_desc nvarchar(60) A Lekérdezéstár tényleges működési módjának szöveges leírása.

OFF
READ_ONLY
READ_WRITE
ERROR
READ_CAPTURE_SECONDARY

Vannak olyan helyzetek, amikor a tényleges állapot eltér a kívánt állapottól:
– Ha az adatbázis írásvédett módra van állítva, vagy ha a Lekérdezéstár mérete meghaladja a konfigurált kvótát, akkor a Lekérdezéstár írásvédett módban is működhet.
– Szélsőséges helyzetekben a Lekérdezéstár belső hibák miatt HIBA állapotot adhat meg. Az SQL Server 2017 (14.x) és újabb verzióiban, ha ez történik, a Lekérdezéstár az érintett adatbázisban tárolt eljárás végrehajtásával sp_query_store_consistency_check állítható helyre. Ha a futtatás sp_query_store_consistency_check nem működik, vagy ha AZ SQL Server 2016-ot (13.x) használja, törölnie kell az adatokat a ALTER DATABASE [YourDatabaseName] SET QUERY_STORE CLEAR ALL;
readonly_reason int Ha az desired_state_desc és READ_WRITE azactual_state_desc, READ_ONLYreadonly_reason egy bittérképet ad vissza, amely jelzi, hogy a lekérdezéstár miért van olvasható módban.

1 - az adatbázis írásvédett módban van
2 - az adatbázis egyfelhasználós módban van
4 - az adatbázis vészhelyzeti módban van
8 - az adatbázis másodlagos replika (a rendelkezésre állási csoportokra és az Azure SQL Database georeplikálására vonatkozik). Ez az érték csak másodlagos replikákon readable figyelhető meg hatékonyan
65536 - a Lekérdezéstár elérte a beállítás által max_storage_size_mb beállított méretkorlátot. A beállítással kapcsolatos további információkért lásd az ALTER DATABASE SET beállításait.
131072 – A Lekérdezéstár különböző utasításainak száma elérte a belső memóriakorlátot. Fontolja meg a nem szükséges lekérdezések eltávolítását vagy magasabb szolgáltatási szintre való frissítését, hogy lehetővé tegye a Lekérdezéstár olvasási-írási módba történő átvitelét.
262144 – A lemezen megőrzendő memóriabeli elemek mérete elérte a belső memóriakorlátot. A Lekérdezéstár ideiglenesen írásvédett módban van, amíg a memóriában lévő elemek nem maradnak meg a lemezen.
524288 – Az adatbázis elérte a lemezméret korlátját. A Lekérdezéstár a felhasználói adatbázis része, ezért ha nincs több szabad hely az adatbázisok számára, az azt jelenti, hogy a Lekérdezéstár nem növekedhet tovább.

Ha vissza szeretné állítani a Lekérdezéstár műveleti módját írás-olvasásra, olvassa el annak ellenőrzéséhez, hogy a Lekérdezéstár folyamatosan gyűjti-e a lekérdezési adatokat.
current_storage_size_mb bigint A lekérdezéstár mérete a lemezen megabájtban.
flush_interval_seconds bigint A Lekérdezéstár adatainak lemezre való rendszeres kiürítésének időtartama másodpercek alatt. Az alapértelmezett érték 900 (15 perc).

Módosítsa az ALTER DATABASE <database> SET QUERY_STORE (DATA_FLUSH_INTERVAL_SECONDS = <interval>) utasítást.
interval_length_minutes bigint A statisztikák aggregációs időköze percekben. Tetszőleges értékek nem engedélyezettek. Használja az alábbi értékek egyikét: 1, 5, 10, 15, 30, , 60, és 1440 perc. Az alapértelmezett érték 60 perc.
max_storage_size_mb bigint A lekérdezéstár maximális lemezmérete megabájtban (MB). Az alapértelmezett érték az SQL Server 2017 -ig (14.x), az SQL Server 2019-es (15.x) és újabb verziókban pedig 1 GB.

Az SQL Database Premium kiadás esetében az alapértelmezett érték 1 GB, az SQL Database Basic kiadás esetében pedig 10 MB.

Módosítsa az ALTER DATABASE <database> SET QUERY_STORE (MAX_STORAGE_SIZE_MB = <size>) utasítást.
stale_query_threshold_days bigint Azon napok száma, amelyeken a lekérdezés adatai a Lekérdezéstárban találhatók. Az alapértelmezett érték a 30. Állítsa be a 0 megőrzési szabályzat letiltására.
Az SQL Database Basic kiadás esetében az alapértelmezett érték 7 nap.

Módosítsa az ALTER DATABASE <database> SET QUERY_STORE (CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = <value>)) utasítást.
max_plans_per_query bigint Korlátozza a tárolt csomagok maximális számát. Az alapértelmezett érték a 200. Ha eléri a maximális értéket, a Lekérdezéstár leállítja a lekérdezés új terveinek rögzítését. 0 A rögzített tervek számának korlátozását megszüntető beállítás.

Módosítsa az ALTER DATABASE<database> SET QUERY_STORE (MAX_PLANS_PER_QUERY = <n>) utasítást.
query_capture_mode smallint Az aktuálisan aktív lekérdezésrögzítési mód:

1 = ALL - minden lekérdezés rögzítve van. Ez az SQL Server 2016 (13.x) és újabb verziók alapértelmezett konfigurációs értéke.

2 = AUTO – a vonatkozó lekérdezések rögzítése a végrehajtások száma és az erőforrás-felhasználás alapján. Ez az SQL Database alapértelmezett konfigurációs értéke.

3 = NONE - leállítja az új lekérdezések rögzítését. A Lekérdezéstár továbbra is gyűjti a már rögzített lekérdezések fordítási és futásidejű statisztikáit. Óvatosan használja ezt a konfigurációt, mivel előfordulhat, hogy nem rögzíti a fontos lekérdezéseket.

4 = CUSTOM – Lehetővé teszi a lekérdezésrögzítési szabályzat további vezérlését a QUERY_CAPTURE_POLICY beállításaival.

A: SQL Server 2019 (15.x) és újabb verziókra vonatkozik.
query_capture_mode_desc nvarchar(60) A Lekérdezéstár tényleges rögzítési módjának szöveges leírása:

ALL (az SQL Server 2016 (13.x) és újabb verzióinak alapértelmezett verziója)

AUTO (az SQL Database alapértelmezett beállítása)

NONE

CUSTOM
capture_policy_execution_count int Lekérdezésrögzítési mód CUSTOM szabályzatbeállítása. Azt határozza meg, hogy a lekérdezések hányszor lesznek végrehajtva a kiértékelési időszakban. Az alapértelmezett érték a 30.

A: SQL Server 2019 (15.x) és újabb verziókra vonatkozik.
capture_policy_total_compile_cpu_time_ms bigint Lekérdezésrögzítési mód CUSTOM szabályzatbeállítása. Meghatározza a lekérdezések által a kiértékelési időszak során felhasznált teljes fordítási CPU-időt. Az alapértelmezett érték 1000.

A: SQL Server 2019 (15.x) és újabb verziókra vonatkozik.
capture_policy_total_execution_cpu_time_ms bigint Lekérdezésrögzítési mód CUSTOM szabályzatbeállítása. Meghatározza a lekérdezések által a kiértékelési időszak során felhasznált teljes végrehajtási CPU-időt. Az alapértelmezett érték a 100.

A: SQL Server 2019 (15.x) és újabb verziókra vonatkozik.
capture_policy_stale_threshold_hours int Lekérdezésrögzítési mód CUSTOM szabályzatbeállítása. Meghatározza a kiértékelési időközt annak megállapításához, hogy egy lekérdezést rögzíteni kell-e. Az alapértelmezett érték 24 óra.

A: SQL Server 2019 (15.x) és újabb verziókra vonatkozik.
size_based_cleanup_mode smallint Azt szabályozza, hogy a rendszer automatikusan aktiválja-e a törlést, ha az adatok teljes mennyisége megközelíti a maximális méretet:

0 = OFF - a méretalapú törlés nem aktiválódik automatikusan.
1 = AUTO- a méretalapú törlés automatikusan aktiválódik, ha a lemez mérete eléri a 90 százalékotmax_storage_size_mb. Ez az alapértelmezett konfigurációs érték.

A méretalapú törlés először a legkevésbé költséges és legrégebbi lekérdezéseket távolítja el. A művelet akkor áll le, ha az érték körülbelül 80 százalékátmax_storage_size_mb eléri.
size_based_cleanup_mode_desc nvarchar(60) A Lekérdezéstár tényleges méretalapú törlési módjának szöveges leírása:

OFF
AUTO (alapértelmezett)
wait_stats_capture_mode smallint Azt szabályozza, hogy a Lekérdezéstár végrehajtja-e a várakozási statisztikák rögzítését:

0 = OFF
1 = ON

A: SQL Server 2017 (14.x) és újabb verziókra vonatkozik.
wait_stats_capture_mode_desc nvarchar(60) A tényleges várakozási statisztikák rögzítési módjának szöveges leírása:

OFF
ON (alapértelmezett)

A: SQL Server 2017 (14.x) és újabb verziókra vonatkozik.
actual_state_additional_info nvarchar(4000) Jelenleg nincs használatban.

Permissions

Ehhez az VIEW DATABASE PERFORMANCE STATE engedélyre vagy egy nagyobb engedélyre van szükség, például VIEW DATABASE STATE.

Az SQL Server 2016 (13.x) és az SQL Server 2019 (15.x) esetében az VIEW DATABASE STATE engedély szükséges. Az SQL Server 2022 (16.x) és újabb verzióiban az VIEW DATABASE PERFORMANCE STATE adatbázis engedélyére van szükség, vagy egy nagyobb engedélyre, például VIEW DATABASE STATE.

Remarks

A actual_state_desc másodlagos replikák lekérdezéstárának READ_CAPTURE_SECONDARY engedélyezésekor a várt érték. További információkért lásd: Másodlagos replikák lekérdezési tárolója.