Freigeben über


sys.database_query_store_options (Transact-SQL)

Gilt für: SQL Server 2016 (13.x) und höhere Versionen Azure SQL-Datenbank Azure SQL verwaltete Instanz Azure Synapse Analytics SQL-Datenbank in Microsoft Fabric

Gibt die Abfragespeicher Optionen für diese Datenbank zurück.

Spaltenname Datentyp Beschreibung
desired_state smallint Gibt den gewünschten Vorgangsmodus von Abfragespeicher an, der explizit vom Benutzer festgelegt wird.

0 = OFF
1 = READ_ONLY
2 = READ_WRITE
4 = READ_CAPTURE_SECONDARY
desired_state_desc nvarchar(60) Textbeschreibung des gewünschten Vorgangsmodus von Abfragespeicher:

OFF
READ_ONLY
READ_WRITE
READ_CAPTURE_SECONDARY
actual_state smallint Gibt den Vorgangsmodus von Abfragespeicher an. Neben der Liste der gewünschten Zustände, die vom Benutzer benötigt werden, kann der tatsächliche Zustand ein Fehlerstatus sein.

0 = OFF
1 = READ_ONLY
2 = READ_WRITE
3 = ERROR
4 = READ_CAPTURE_SECONDARY
actual_state_desc nvarchar(60) Textbeschreibung des tatsächlichen Vorgangsmodus von Abfragespeicher.

OFF
READ_ONLY
READ_WRITE
ERROR
READ_CAPTURE_SECONDARY

Es gibt Situationen, in denen sich der tatsächliche Zustand vom gewünschten Zustand unterscheidet:
- Wenn die Datenbank auf den schreibgeschützten Modus festgelegt ist oder wenn Abfragespeicher Größe das konfigurierte Kontingent überschreitet, funktioniert Abfragespeicher möglicherweise im schreibgeschützten Modus, auch wenn Sie Lese-/Schreibzugriff angeben.
- In extremen Szenarien kann Abfragespeicher aufgrund interner Fehler einen FEHLERzustand eingeben. In SQL Server 2017 (14.x) und höheren Versionen können Abfragespeicher wiederhergestellt werden, indem die sp_query_store_consistency_check gespeicherte Prozedur in der betroffenen Datenbank ausgeführt wird. Wenn die Ausführung sp_query_store_consistency_check nicht funktioniert oder Wenn Sie SQL Server 2016 (13.x) verwenden, müssen Sie die Daten löschen, indem Sie ALTER DATABASE [YourDatabaseName] SET QUERY_STORE CLEAR ALL;
readonly_reason int Wenn das desired_state_desc ist und das actual_state_desc istREAD_ONLYREAD_WRITE, gibt eine Bitkarte zurück, readonly_reason um anzugeben, warum die Abfragespeicher im schreibgeschützten Modus ist.

1 - Datenbank befindet sich im schreibgeschützten Modus
2 - Datenbank befindet sich im Einzelbenutzermodus
4 - Datenbank befindet sich im Notfallmodus
8- Datenbank ist sekundäres Replikat (gilt für Verfügbarkeitsgruppen und Azure SQL-Datenbank Georeplikation). Dieser Wert kann nur bei readable sekundären Replikaten effektiv beobachtet werden.
65536- die Abfragespeicher die durch die max_storage_size_mb Option festgelegte Größenbeschränkung erreicht. Weitere Informationen zu dieser Option finden Sie unter ALTER DATABASE SET-Optionen.
131072- Die Anzahl der verschiedenen Anweisungen in Abfragespeicher die interne Speichergrenze erreicht. Erwägen Sie das Entfernen von Abfragen, die Sie nicht benötigen oder auf eine höhere Dienstebene aktualisieren, um die Übertragung von Abfragespeicher in den Lese-/Schreibmodus zu ermöglichen.
262144 – Die Größe von In-Memory-Elementen, die auf dem Datenträger gespeichert werden müssen, hat die interne Speichergrenze erreicht. Abfragespeicher befindet sich vorübergehend im schreibgeschützten Modus, bis die Speicherelemente auf dem Datenträger beibehalten werden.
524288 - Die Datenbank hat die Größenbeschränkung erreicht. Abfragespeicher ist Teil der Benutzerdatenbank. Wenn also kein mehr verfügbarer Speicherplatz für eine Datenbank vorhanden ist, bedeutet dies, dass Abfragespeicher nicht mehr weiter wachsen kann.

Informationen zum Zurückwechseln des Abfragespeicher-Betriebsmodus zum Lese-/Schreibzugriff finden Sie unter Überprüfen, ob Abfragespeicher Abfragedaten kontinuierlich sammelt.
current_storage_size_mb bigint Größe von Abfragespeicher auf dem Datenträger in Megabyte.
flush_interval_seconds bigint Der Zeitraum für regelmäßiges Leeren von Abfragespeicher Daten auf datenträger in Sekunden. Der Standardwert ist 900 (15 Min.).

Ändern Sie die Anweisung mithilfe der ALTER DATABASE <database> SET QUERY_STORE (DATA_FLUSH_INTERVAL_SECONDS = <interval>) Anweisung.
interval_length_minutes bigint Das Statistikaggregationsintervall in Minuten. Beliebige Werte sind nicht zulässig. Verwenden Sie einen der folgenden Werte: 1, , 5, 10, 15, , 30, und 601440 Minuten. Der Standardwert ist 60 Minuten
max_storage_size_mb bigint Maximale Datenträgergröße für die Abfragespeicher in Megabyte (MB). Der Standardwert beträgt 100 MB bis ZU SQL Server 2017 (14.x) und 1 GB in SQL Server 2019 (15.x) und höheren Versionen.

Für SQL-Datenbank Premium Edition ist der Standardwert 1 GB, und für SQL-Datenbank Basic Edition ist der Standardwert 10 MB.

Ändern Sie die Anweisung mithilfe der ALTER DATABASE <database> SET QUERY_STORE (MAX_STORAGE_SIZE_MB = <size>) Anweisung.
stale_query_threshold_days bigint Die Anzahl der Tage, an denen die Informationen für eine Abfrage im Abfragespeicher aufbewahrt werden. Der Standardwert ist 30. Legen Sie diese Einstellung fest, 0 um die Aufbewahrungsrichtlinie zu deaktivieren.
Für SQL-Datenbank Basic Edition beträgt die Standardeinstellung 7 Tage.

Ändern Sie die Anweisung mithilfe der ALTER DATABASE <database> SET QUERY_STORE (CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = <value>)) Anweisung.
max_plans_per_query bigint Beschränkt die maximale Anzahl gespeicherter Pläne. Der Standardwert ist 200. Wenn der Maximalwert erreicht ist, beendet Abfragespeicher das Erfassen neuer Pläne für diese Abfrage. Durch festlegen, dass 0 die Einschränkung für die Anzahl der erfassten Pläne entfernt wird.

Ändern Sie die Anweisung mithilfe der ALTER DATABASE<database> SET QUERY_STORE (MAX_PLANS_PER_QUERY = <n>) Anweisung.
query_capture_mode smallint Der derzeit aktive Abfrageerfassungsmodus:

1 = ALL - Alle Abfragen werden erfasst. Dies ist der Standardkonfigurationswert für SQL Server 2016 (13.x) und höhere Versionen.

2 = AUTO – Erfassen sie relevante Abfragen basierend auf der Ausführungsanzahl und dem Ressourcenverbrauch. Dies ist der Standardkonfigurationswert für SQL-Datenbank.

3 = NONE – beenden Sie das Erfassen neuer Abfragen. Abfragespeicher erfasst weiterhin Kompilierungs- und Laufzeitstatistiken für bereits erfasste Abfragen. Verwenden Sie diese Konfiguration vorsichtig, da Sie möglicherweise wichtige Abfragen nicht erfassen.

4 = CUSTOM – Ermöglicht eine bessere Kontrolle über die Abfrageerfassungsrichtlinie mithilfe der QUERY_CAPTURE_POLICY-Optionen.

Gilt für: SQL Server 2019 (15.x) und höhere Versionen.
query_capture_mode_desc nvarchar(60) Textbeschreibung des tatsächlichen Aufnahmemodus von Abfragespeicher:

ALL (Standard für SQL Server 2016 (13.x) und höhere Versionen)

AUTO(Standardeinstellung für SQL-Datenbank)

NONE

CUSTOM
capture_policy_execution_count int Richtlinienoption für den Abfrageerfassungsmodus CUSTOM . Definiert die Häufigkeit, mit der eine Abfrage im Auswertungszeitraum ausgeführt wird. Der Standardwert ist 30.

Gilt für: SQL Server 2019 (15.x) und höhere Versionen.
capture_policy_total_compile_cpu_time_ms bigint Richtlinienoption für den Abfrageerfassungsmodus CUSTOM . Definiert die gesamte verstrichene Kompilierungs-CPU-Zeit, die eine Abfrage über den Auswertungszeitraum in Anspruch nimmt. Der Standardwert lautet 1000.

Gilt für: SQL Server 2019 (15.x) und höhere Versionen.
capture_policy_total_execution_cpu_time_ms bigint Richtlinienoption für den Abfrageerfassungsmodus CUSTOM . Definiert die gesamte verstrichene Ausführungs-CPU-Zeit, die eine Abfrage über den Auswertungszeitraum in Anspruch nimmt. Der Standardwert ist 100.

Gilt für: SQL Server 2019 (15.x) und höhere Versionen.
capture_policy_stale_threshold_hours int Richtlinienoption für den Abfrageerfassungsmodus CUSTOM . Definiert den Zeitraum des Auswertungsintervalls um zu bestimmen, ob eine Abfrage erfasst werden sollte. Der Standardwert ist 24 Stunden.

Gilt für: SQL Server 2019 (15.x) und höhere Versionen.
size_based_cleanup_mode smallint Steuert, ob die Bereinigung automatisch aktiviert wird, wenn die Gesamtmenge der Daten nahe an der maximalen Größe liegt:

0 = OFF – größenbasierte Bereinigung wird nicht automatisch aktiviert.
1 = AUTO - Größenbasierte Bereinigung wird automatisch aktiviert, wenn die Größe auf dem Datenträger 90 Prozent erreicht max_storage_size_mb. Dies ist der Standardkonfigurationswert.

Ein auf der Größe basierendes Cleanup entfernt die am wenigsten aufwendigen und die ältesten Abfragen. Sie stoppt, wenn ungefähr 80 Prozent erreicht max_storage_size_mb sind.
size_based_cleanup_mode_desc nvarchar(60) Textbeschreibung des tatsächlich größenbasierten Bereinigungsmodus von Abfragespeicher:

OFF
AUTO (Standard)
wait_stats_capture_mode smallint Steuert, ob Abfragespeicher die Erfassung von Wartestatistiken durchführt:

0 = OFF
1 = ON

Gilt für: SQL Server 2017 (14.x) und höhere Versionen.
wait_stats_capture_mode_desc nvarchar(60) Textbeschreibung des tatsächlichen Wartestatistikerfassungsmodus:

OFF
ON (Standard)

Gilt für: SQL Server 2017 (14.x) und höhere Versionen.
actual_state_additional_info nvarchar(4000) Derzeit nicht verwendet.

Berechtigungen

Erfordert die VIEW DATABASE STATE-Berechtigung.

Hinweise

Ein actual_state_desc Wert ist READ_CAPTURE_SECONDARY der erwartete Zustand, wenn Abfragespeicher für sekundäre Replikate aktiviert ist. Weitere Informationen finden Sie unter Abfragespeicher für sekundäre Replikate.