sys.database_query_store_options (Transact-SQL)
Gilt für: SQL Server 2016 (13.x) und höher Azure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse Analytics
Gibt die Abfragespeicher Optionen 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 Betriebsmodus 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 Betriebsmodus von Abfragespeicher: OFF READ_ONLY READ_WRITE READ_CAPTURE_SECONDARY |
actual_state | smallint | Gibt den Betriebsmodus von Abfragespeicher an. 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 = FEHLER 4 = READ_CAPTURE_SECONDARY |
actual_state_desc | nvarchar(60) | Textbeschreibung des tatsächlichen Betriebsmodus 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 schreibgeschützten Modus festgelegt ist oder Abfragespeicher Größe das konfigurierte Kontingent überschreitet, kann Abfragespeicher im schreibgeschützten Modus arbeiten, auch wenn der Benutzer Lese-/Schreibzugriff angegeben hat. – In extremen Szenarien können Abfragespeicher aufgrund interner Fehler in den FEHLERzustand wechseln. Falls dies eintritt, kann der Abfragespeicher ab SQL Server 2017 (14.x) wiederhergestellt werden, indem in der betroffenen Datenbank die gespeicherte Prozedur sp_query_store_consistency_check ausgeführt wird. Wenn die Ausführung sp_query_store_consistency_check nicht funktioniert oder Sie SQL Server 2016 (13.x) verwenden, müssen Sie die Daten löschen, indem Sie ausführen.ALTER DATABASE [YourDatabaseName] SET QUERY_STORE CLEAR ALL; |
readonly_reason | int | Wenn der desired_state_desc READ_WRITE und der actual_state_desc READ_ONLY ist, gibt readonly_reason eine Bitzuordnung zurück, um anzugeben, warum sich der Abfragespeicher im schreibgeschützten Modus befindet. 1 : Die Datenbank befindet sich im schreibgeschützten Modus 2 : Die Datenbank befindet sich im Einzelbenutzermodus 4 : Die Datenbank befindet sich im Notfallmodus 8 : Die Datenbank ist ein sekundäres Replikat (gilt für Verfügbarkeitsgruppen und Azure SQL Georeplikation der Datenbank). Dieser Wert kann nur auf lesbaren sekundären Replikaten effektiv beobachtet werden. 65536: Die Abfragespeicher hat das durch die MAX_STORAGE_SIZE_MB Option festgelegte Größenlimit erreicht. Weitere Informationen zu dieser Option finden Sie unter ALTER DATABASE SET-Optionen (Transact-SQL).131072: Die Anzahl der verschiedenen Anweisungen in Abfragespeicher das interne Speicherlimit erreicht hat. Erwägen Sie das Entfernen von Abfragen, die Sie nicht benötigen, oder ein Upgrade auf eine höhere Dienstebene, um die Übertragung Abfragespeicher in den Lese-/Schreibmodus zu ermöglichen. 262144 : Die Größe von Speicherelementen, die darauf warten, auf dem Datenträger beibehalten zu werden, hat das interne Speicherlimit erreicht. Abfragespeicher befindet sich vorübergehend im schreibgeschützten Modus, bis die Speicherelemente auf dem Datenträger beibehalten werden. 524288 : Die Datenbank hat die Datenträgergröße erreicht. Abfragespeicher Teil der Benutzerdatenbank ist, bedeutet dies, dass Abfragespeicher nicht mehr wachsen kann, wenn für eine Datenbank kein Speicherplatz mehr verfügbar ist. Informationen zum Umschalten des Abfragespeicher-Betriebsmodus zum Lese-/Schreibmodus finden Sie im Abschnitt Überprüfen, Abfragespeicher Abfragedaten kontinuierlich sammelt, im Abschnitt Bewährte Methoden mit dem Abfragespeicher. |
current_storage_size_mb | bigint | Größe der Abfragespeicher auf dem Datenträger in Megabyte. |
flush_interval_seconds | bigint | Der Zeitraum für das regelmäßige Leeren von Abfragespeicher Daten auf den Datenträger in Sekunden. Der Standardwert ist 900 (15 Min.). Ändern Sie 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 eine der folgenden: 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 Abfragespeicher in Megabyte (MB). Der Standardwert beträgt 100 MB bis SQL Server 2017 (14.x) und 1 GB ab SQL Server 2019 (15.x). Der Standardwert für die Premium Edition von SQL-Datenbank liegt bei 1 GB, für die Basic Edition von SQL-Datenbank bei 10 MB. Ändern Sie mithilfe der ALTER DATABASE <database> SET QUERY_STORE (MAX_STORAGE_SIZE_MB = <size>) -Anweisung. |
stale_query_threshold_days | bigint | Anzahl der Tage, an denen die Informationen für eine Abfrage im Abfragespeicher aufbewahrt werden. 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 | Schränkt die maximale Anzahl gespeicherter Pläne ein. Der Standardwert ist 200. Wenn der Maximalwert erreicht wird, Abfragespeicher die Erfassung neuer Pläne für diese Abfrage beendet. Wenn Sie auf 0 festlegen, wird die Einschränkung in Bezug auf die Anzahl der erfassten Pläne aufgehoben. Ä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 = ALLE - alle Abfragen werden erfasst. Dies ist der Standardkonfigurationswert für SQL Server (SQL Server 2016 (13.x) und höher). 2 = AUTO: Erfassen Sie relevante Abfragen basierend auf der Ausführungsanzahl und dem Ressourcenverbrauch. Dies ist der Standardkonfigurationswert für SQL-Datenbank. 3 = NONE : Die Erfassung neuer Abfragen wird beendet. Der Abfragedatenspeicher sammelt weiterhin Statistiken zur Kompilierung und Runtime für Abfragen, die bereits erfasst wurden. Verwenden Sie diese Konfiguration vorsichtig, da Sie möglicherweise wichtige Abfragen nicht erfassen. 4 = BENUTZERDEFINIERT: Ermöglicht 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 Abfragespeicher: ALL (Standardeinstellung für SQL Server 2016 (13.x)) AUTO (Standardeinstellung 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 Standard 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 beendet, 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 Abfragespeicher: OFF AUTO (Standard) |
wait_stats_capture_mode | smallint | Steuert, ob Abfragespeicher 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. |
Berechtigungen
Erfordert die VIEW DATABASE STATE
-Berechtigung.
Bemerkungen
Der actual_state_desc
Wert READ_CAPTURE_SECONDARY ist der erwartete Zustand, wenn Abfragespeicher für sekundäre Replikate aktiviert ist. Weitere Informationen finden Sie unter Abfragespeicher für sekundäre Replikate.
Nächste Schritte
- 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)
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für