sys.database_query_store_options (Transact-SQL)
Gilt für: SQL Server 2016 (13.x) und höher Azure SQL-Datenbank Azure SQL verwaltete Instanz Azure Synapse Analytics
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_ONLY READ_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 Modus2 - Datenbank befindet sich im Einzelbenutzermodus4 - Datenbank befindet sich im Notfallmodus8 - 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 60 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 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.
Zugehöriger Inhalt
- 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
- Systemkatalogansichten (Transact-SQL)
- sys.fn_stmt_sql_handle_from_sql_stmt (Transact-SQL)
- Gespeicherte Prozeduren für den Abfragespeicher (Transact-SQL)