sys.database_query_store_options (Transact-SQL)

Anwendungsbereich: JaSQL Server 2016 (13.x) und höher JaAzure SQL-Datenbank JaVerwaltete Azure SQL-Instanz JaAzure Synapse Analytics

Gibt die Abfrage Store für diese Datenbank zurück.

Gilt für: SQL Server (SQL Server 2016 (13.x)und höher), SQL-Datenbank.

Spaltenname Datentyp BESCHREIBUNG
desired_state smallint Gibt den gewünschten Vorgangsmodus der Abfrage Store, explizit vom Benutzer festgelegt.
0 = OFF
1 = READ_ONLY
2 = READ_WRITE
desired_state_desc nvarchar(60) Textbeschreibung des gewünschten Vorgangsmodus der Abfrage Store:
OFF
READ_ONLY
READ_WRITE
actual_state smallint Gibt den Vorgangsmodus der Abfrage Store. Zusätzlich zur Liste der gewünschten Zustände, die vom Benutzer benötigt werden, kann der tatsächliche Zustand ein Fehlerzustand sein.
0 = OFF
1 = READ_ONLY
2 = READ_WRITE
3 = ERROR
actual_state_desc nvarchar(60) Textbeschreibung des tatsächlichen Betriebsmodus der Abfrage Store.
OFF
READ_ONLY
READ_WRITE
ERROR

Es gibt Situationen, in denen sich der tatsächliche Zustand vom gewünschten Zustand unterscheiden kann:
– Wenn die Datenbank auf den schreibgeschützten Modus festgelegt ist oder die Query Store-Größe das konfigurierte Kontingent überschreitet, kann Query Store auch dann im schreibgeschützten Modus ausgeführt werden, wenn der Benutzer Lese-/Schreibzugriff angegeben hat.
– In extremer Szenarios Store abfragebasierte Abfrage aufgrund interner Fehler in einen FEHLER-Zustand. Ab kann die Abfrageabfrage Store wiederhergestellt werden, indem die gespeicherte Prozedur SQL Server 2017 (14.x) in der betroffenen Datenbank ausgeführt sp_query_store_consistency_check wird. Wenn die Ausführung von nicht funktioniert oder Sie verwenden, müssen Sie die Daten löschen, indem sp_query_store_consistency_check SQL Server 2016 (13.x) Sie ausführen. ALTER DATABASE [YourDatabaseName] SET QUERY_STORE CLEAR ALL;
readonly_reason int Wenn der desired_state_desc READ_WRITE und actual_state_desc READ_ONLY ist, gibt readonly_reason eine Bitzuordnung zurück, um anzugeben, warum sich die Abfrage Store im schreibgeschützten Modus befindet.

1 – Datenbank befindet sich im schreibgeschützten Modus

2 . Die Datenbank befindet sich im Einzelbenutzermodus.

4 – Datenbank befindet sich im Notfallmodus

8 – Datenbank ist sekundäres Replikat (gilt für Always On und Azure SQL-Datenbank Georeplikation). Dieser Wert kann nur auf lesbaren sekundären Replikaten effektiv beobachtet werden.

65536: Der Abfrage-Store hat das von der Option festgelegte Größenlimit MAX_STORAGE_SIZE_MB erreicht. Weitere Informationen zu dieser Option finden Sie unter ALTER DATABASE SET-Optionen (Transact-SQL).

131072: Die Anzahl der verschiedenen Anweisungen in Query Store hat das interne Arbeitsspeicherlimit erreicht. Erwägen Sie das Entfernen von Abfragen, die Sie nicht benötigen, oder ein Upgrade auf eine höhere Dienstebene, um die Übertragung von Store in den Lese-/Schreibmodus zu ermöglichen.


262144: Die Größe von Elementen im Arbeitsspeicher, die darauf warten, auf dem Datenträger persistent gespeichert zu werden, hat das interne Arbeitsspeicherlimit erreicht. Abfrageabfragen Store vorübergehend im schreibgeschützten Modus, bis die In-Memory-Elemente auf dem Datenträger beibehalten werden.


524288: Die Datenbank hat das Limit für die Datenträgergröße erreicht. Abfrageabfragen Store Teil der Benutzerdatenbank. Wenn also kein verfügbarer Speicherplatz mehr für eine Datenbank verfügbar ist, bedeutet dies, dass Store Abfrage nicht mehr wachsen kann.


Informationen zum Zurückwechseln des Abfrage-Store-Betriebsmodus in den Lese-/Schreibmodus finden Sie im Abschnitt Überprüfen, ob Query Store kontinuierlich Abfragedaten sammelt unter BewährteMethode mit der Store .
current_storage_size_mb bigint Größe der Store auf dem Datenträger in Megabyte.
flush_interval_seconds bigint Der Zeitraum für das regelmäßige Leeren von Abfragedaten Store auf den Datenträger in Sekunden. Der Standardwert ist 900 (15 Minuten).

Ändern Sie mithilfe der ALTER DATABASE <database> SET QUERY_STORE (DATA_FLUSH_INTERVAL_SECONDS = <interval>) -Anweisung.
interval_length_minutes bigint Das Aggregationsintervall für Statistiken in Minuten. Beliebige Werte sind nicht zulässig. Verwenden Sie eine der folgenden Angaben: 1, 5, 10, 15, 30, 60 und 1440 Minuten. Der Standardwert ist 60 Minuten.
max_storage_size_mb bigint Maximale Datenträgergröße für die Abfrage Store in Megabyte (MB). Der Standardwert ist 100 MB bis SQL Server 2017 (14.x) und 1 GB ab SQL Server 2019 (15.x) .
Für Premium Edition ist der Standardwert 1 GB, für basic edition SQL-Datenbank SQL-Datenbank 10 MB.

Ändern Sie mithilfe der ALTER DATABASE <database> SET QUERY_STORE (MAX_STORAGE_SIZE_MB = <size>) -Anweisung.
stale_query_threshold_days bigint Anzahl von Tagen, in denen die Informationen für eine Abfrage im Abfrage-Store. Standardwert: 30. Legen Sie auf 0 fest, um die Aufbewahrungsrichtlinie zu deaktivieren.
Für die Basic-Edition von SQL-Datenbank ist der Standardwert 7 Tage.

Ändern Sie mithilfe der ALTER DATABASE <database> SET QUERY_STORE ( CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = <value> ) ) -Anweisung.
max_plans_per_query bigint Begrenzt die maximale Anzahl gespeicherter Pläne. Der Standardwert ist 200. Wenn der maximal zulässige Wert erreicht wird, Store Abfrage die Erfassung neuer Pläne für diese Abfrage beendet. Wenn Sie auf 0 festlegen, wird die Einschränkung hinsichtlich der Anzahl erfasster Pläne entfernt.

Ändern Sie 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 ( SQL Server 2016 (13.x) und höher).

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

3 = NONE : Neue Abfragen werden nicht mehr erfasst. Der Abfragedatenspeicher sammelt weiterhin Statistiken zur Kompilierung und Runtime für Abfragen, die bereits erfasst wurden. Verwenden Sie diese Konfiguration mit Bedacht, da Sie möglicherweise wichtige Abfragen nicht erfassen können.

4 = BENUTZERDEFINIERT: Ermöglicht eine zusätzliche Kontrolle über die Abfrageerfassungsrichtlinie mithilfe der QUERY_CAPTURE_POLICY Optionen.
Gilt für: SQL Server 2019 (15.x) und höher.
query_capture_mode_desc nvarchar(60) Textbeschreibung des tatsächlichen Erfassungsmodus von Query Store:

ALL (Standardwert für SQL Server 2016 (13.x) )

AUTO (Standard für SQL-Datenbank )

Keine

CUSTOM
capture_policy_execution_count int Benutzerdefinierte Richtlinienoption für den Abfrageerfassungsmodus. 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öher.
capture_policy_total_compile_cpu_time_ms bigint Benutzerdefinierte Richtlinienoption für den Abfrageerfassungsmodus. 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öher.
capture_policy_total_execution_cpu_time_ms bigint Benutzerdefinierte Richtlinienoption für den Abfrageerfassungsmodus. 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öher.
capture_policy_stale_threshold_hours int Benutzerdefinierte Richtlinienoption für den Abfrageerfassungsmodus. 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öher.
size_based_cleanup_mode smallint Steuert, ob die Bereinigung automatisch aktiviert wird, wenn sich die Gesamtmenge der Daten der maximalen Größe nähert:

0 = OFF : Die größenbasierte Bereinigung wird nicht automatisch aktiviert.

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

Ein auf der Größe basierendes Cleanup entfernt die am wenigsten aufwendigen und die ältesten Abfragen. Sie wird angehalten, wenn etwa 80 Prozent der max_storage_size_mb erreicht sind.
size_based_cleanup_mode_desc nvarchar(60) Textbeschreibung des tatsächlichen größenbasierten Bereinigungsmodus von Query Store:

OFF
AUTO (Standard)
wait_stats_capture_mode smallint Steuert, ob query Store die Erfassung von Wartestatistiken ausführt:

0 = OFF
1 = ON
Gilt für: SQL Server 2017 (14.x) und höher.
wait_stats_capture_mode_desc nvarchar(60) Textbeschreibung des tatsächlichen Erfassungsmodus für Wartestatistiken:

OFF
ON (Standard)
Gilt für: SQL Server 2017 (14.x) und höher.
actual_state_additional_info nvarchar(8000) Derzeit nicht verwendet. Kann in Zukunft implementiert werden.

Berechtigungen

Erfordert die VIEW DATABASE STATE-Berechtigung.

Weitere Informationen

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)
Überwachen der Leistung mit dem Abfragespeicher
Katalogsichten (Transact-SQL)
sys.fn_stmt_sql_handle_from_sql_stmt (Transact-SQL)
Gespeicherte Prozeduren für den Abfragespeicher (Transact-SQL)