Udostępnij za pośrednictwem


sys.database_query_store_options (Transact-SQL)

Dotyczy: SQL Server 2016 (13.x) i nowsze wersje usługi Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL Database w wersji zapoznawczej usługi Microsoft Fabric

Zwraca opcje magazynu zapytań dla tej bazy danych.

Column name Data type Description
desired_state smallint Wskazuje żądany tryb operacji magazynu zapytań, jawnie ustawiony przez użytkownika.

0 = OFF
1 = READ_ONLY
2 = READ_WRITE
4 = READ_CAPTURE_SECONDARY
desired_state_desc nvarchar(60) Tekstowy opis żądanego trybu operacji magazynu zapytań:

OFF
READ_ONLY
READ_WRITE
READ_CAPTURE_SECONDARY
actual_state smallint Wskazuje tryb działania magazynu zapytań. Oprócz listy żądanych stanów wymaganych przez użytkownika rzeczywisty stan może być stanem błędu.

0 = OFF
1 = READ_ONLY
2 = READ_WRITE
3 = ERROR
4 = READ_CAPTURE_SECONDARY
actual_state_desc nvarchar(60) Tekstowy opis rzeczywistego trybu operacji magazynu zapytań.

OFF
READ_ONLY
READ_WRITE
ERROR
READ_CAPTURE_SECONDARY

Istnieją sytuacje, w których stan rzeczywisty różni się od żądanego stanu:
— Jeśli baza danych jest ustawiona na tryb tylko do odczytu lub jeśli rozmiar magazynu zapytań przekracza skonfigurowany limit przydziału, magazyn zapytań może działać w trybie tylko do odczytu, nawet jeśli określisz odczyt-zapis.
— W skrajnych scenariuszach magazyn zapytań może wprowadzić stan BŁĘDU z powodu błędów wewnętrznych. W programie SQL Server 2017 (14.x) i nowszych wersjach, jeśli tak się stanie, magazyn zapytań można odzyskać, wykonując sp_query_store_consistency_check procedurę składowaną w bazie danych, której dotyczy problem. Jeśli uruchomienie sp_query_store_consistency_check nie działa lub jeśli używasz programu SQL Server 2016 (13.x), musisz wyczyścić dane, uruchamiając polecenie ALTER DATABASE [YourDatabaseName] SET QUERY_STORE CLEAR ALL;
readonly_reason int desired_state_desc Gdy parametr to READ_WRITE i actual_state_desc ma READ_ONLYwartość , readonly_reason zwraca mapę bitową, aby wskazać, dlaczego magazyn zapytań jest w trybie tylko do odczytu.

1 — baza danych jest w trybie tylko do odczytu
2 — baza danych jest w trybie pojedynczego użytkownika
4 — baza danych jest w trybie awaryjnym
8 — baza danych jest repliką pomocniczą (dotyczy grup dostępności i replikacji geograficznej usługi Azure SQL Database). Tę wartość można skutecznie zaobserwować tylko w readable replikach pomocniczych
65536 — Magazyn zapytań osiągnął limit rozmiaru max_storage_size_mb ustawiony przez opcję. Aby uzyskać więcej informacji na temat tej opcji, zobacz ALTER DATABASE SET options (OPCJE ALTER DATABASE SET).
131072 — Liczba różnych instrukcji w magazynie zapytań osiągnęła wewnętrzny limit pamięci. Rozważ usunięcie zapytań, których nie potrzebujesz lub uaktualnienie do wyższej warstwy usługi, aby umożliwić przenoszenie magazynu zapytań do trybu odczytu i zapisu.
262144 — Rozmiar elementów w pamięci oczekujących na utrwalone na dysku osiągnął limit pamięci wewnętrznej. Magazyn zapytań jest tymczasowo w trybie tylko do odczytu, dopóki elementy w pamięci nie zostaną utrwalone na dysku.
524288 — Baza danych osiągnęła limit rozmiaru dysku. Magazyn zapytań jest częścią bazy danych użytkowników, więc jeśli nie ma więcej dostępnego miejsca dla bazy danych, oznacza to, że magazyn zapytań nie może już rosnąć.

Aby przełączyć tryb operacji magazynu zapytań z powrotem do odczytu i zapisu, zobacz Sprawdzanie, czy magazyn zapytań zbiera dane zapytania w sposób ciągły.
current_storage_size_mb bigint Rozmiar magazynu zapytań na dysku w megabajtach.
flush_interval_seconds bigint Okres regularnego opróżniania danych magazynu zapytań na dysk w sekundach. Wartość domyślna to 900 (15 minut).

Zmień za pomocą instrukcji ALTER DATABASE <database> SET QUERY_STORE (DATA_FLUSH_INTERVAL_SECONDS = <interval>) .
interval_length_minutes bigint Interwał agregacji statystyk w minutach. Dowolne wartości nie są dozwolone. Użyj jednej z następujących wartości: 1, , 5, 1015, 30, , 60i 1440 minut. Wartość domyślna to 60 minut.
max_storage_size_mb bigint Maksymalny rozmiar dysku magazynu zapytań w megabajtach (MB). Wartość domyślna to 100 MB do programu SQL Server 2017 (14.x) i 1 GB w programie SQL Server 2019 (15.x) i nowszych wersjach.

W przypadku wersji SQL Database Premium wartość domyślna to 1 GB, a w przypadku wersji SQL Database Basic wartość domyślna to 10 MB.

Zmień za pomocą instrukcji ALTER DATABASE <database> SET QUERY_STORE (MAX_STORAGE_SIZE_MB = <size>) .
stale_query_threshold_days bigint Liczba dni przechowywania informacji dotyczących zapytania w magazynie zapytań. Wartość domyślna to 30. Ustaw wartość , aby 0 wyłączyć zasady przechowywania.
W przypadku wersji Podstawowa usługi SQL Database wartość domyślna to 7 dni.

Zmień za pomocą instrukcji ALTER DATABASE <database> SET QUERY_STORE (CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = <value>)) .
max_plans_per_query bigint Ogranicza maksymalną liczbę przechowywanych planów. Wartość domyślna to 200. Jeśli zostanie osiągnięta maksymalna wartość, magazyn zapytań przestanie przechwytywać nowe plany dla tego zapytania. Ustawienie w celu 0 usunięcia ograniczenia liczby przechwyconych planów.

Zmień za pomocą instrukcji ALTER DATABASE<database> SET QUERY_STORE (MAX_PLANS_PER_QUERY = <n>) .
query_capture_mode smallint Aktualnie aktywny tryb przechwytywania zapytań:

1 = ALL — wszystkie zapytania są przechwytywane. Jest to domyślna wartość konfiguracji programu SQL Server 2016 (13.x) i nowszych wersji.

2 = AUTO — przechwytywać odpowiednie zapytania na podstawie liczby wykonań i zużycia zasobów. Jest to domyślna wartość konfiguracji usługi SQL Database.

3 = NONE — zatrzymaj przechwytywanie nowych zapytań. Magazyn zapytań nadal zbiera statystyki kompilacji i środowiska uruchomieniowego dla zapytań, które zostały już przechwycone. Użyj tej konfiguracji ostrożnie, ponieważ możesz przegapić przechwytywanie ważnych zapytań.

4 = CUSTOM — umożliwia większą kontrolę nad zasadami przechwytywania zapytań przy użyciu opcji QUERY_CAPTURE_POLICY.

Dotyczy: SQL Server 2019 (15.x) i nowsze wersje.
query_capture_mode_desc nvarchar(60) Tekstowy opis rzeczywistego trybu przechwytywania magazynu zapytań:

ALL (ustawienie domyślne dla programu SQL Server 2016 (13.x) i nowszych wersji)

AUTO (ustawienie domyślne dla usługi SQL Database)

NONE

CUSTOM
capture_policy_execution_count int Opcja zasad trybu CUSTOM przechwytywania zapytań. Definiuje liczbę wykonań zapytania w okresie oceny. Wartość domyślna to 30.

Dotyczy: SQL Server 2019 (15.x) i nowsze wersje.
capture_policy_total_compile_cpu_time_ms bigint Opcja zasad trybu CUSTOM przechwytywania zapytań. Definiuje łączny czas kompilacji, który upłynął, używany przez zapytanie w okresie oceny. Wartość domyślna to 1000.

Dotyczy: SQL Server 2019 (15.x) i nowsze wersje.
capture_policy_total_execution_cpu_time_ms bigint Opcja zasad trybu CUSTOM przechwytywania zapytań. Definiuje całkowity czas wykonywania, który upłynął, używany przez zapytanie w okresie oceny. Wartość domyślna to 100.

Dotyczy: SQL Server 2019 (15.x) i nowsze wersje.
capture_policy_stale_threshold_hours int Opcja zasad trybu CUSTOM przechwytywania zapytań. Definiuje okres interwału oceny, aby określić, czy zapytanie powinno zostać przechwycone. Wartość domyślna to 24 godziny.

Dotyczy: SQL Server 2019 (15.x) i nowsze wersje.
size_based_cleanup_mode smallint Określa, czy czyszczenie jest automatycznie aktywowane, gdy łączna ilość danych zbliża się do maksymalnego rozmiaru:

0 = OFF - Czyszczenie oparte na rozmiarze nie jest automatycznie aktywowane.
1 = AUTO - Oczyszczanie oparte na rozmiarze jest automatycznie aktywowane, gdy rozmiar dysku osiągnie 90 procentmax_storage_size_mb. Jest to domyślna wartość konfiguracji.

Oczyszczanie oparte na rozmiarach usuwa najpierw najmniej kosztowne i najstarsze zapytania. Zatrzymuje się po osiągnięciu około 80 procentmax_storage_size_mb.
size_based_cleanup_mode_desc nvarchar(60) Tekstowy opis rzeczywistego trybu oczyszczania opartego na rozmiarze magazynu zapytań:

OFF
AUTO (ustawienie domyślne)
wait_stats_capture_mode smallint Określa, czy magazyn zapytań wykonuje przechwytywanie statystyk oczekiwania:

0 = OFF
1 = ON

Dotyczy: SQL Server 2017 (14.x) i nowsze wersje.
wait_stats_capture_mode_desc nvarchar(60) Tekstowy opis rzeczywistego trybu przechwytywania statystyk oczekiwania:

OFF
ON (ustawienie domyślne)

Dotyczy: SQL Server 2017 (14.x) i nowsze wersje.
actual_state_additional_info nvarchar(4000) Currently unused.

Permissions

Wymaga uprawnienia VIEW DATABASE STATE.

Remarks

Wartość actual_state_desc to oczekiwany READ_CAPTURE_SECONDARY stan, gdy magazyn zapytań dla replik pomocniczych jest włączony. Aby uzyskać więcej informacji, zobacz Magazyn zapytań dla replik pomocniczych.