sys.database_query_store_options (Transact-SQL)

Область применения: SQL Server 2016 (13.x) и более поздних версий База данных SQL Azure Управляемый экземпляр SQL Azure Azure Synapse Analytics

Возвращает параметры хранилище запросов для этой базы данных.

Имя столбца Тип данных Description
desired_state smallint Указывает требуемый режим работы хранилище запросов, явно заданный пользователем.

0 = OFF
1 = READ_ONLY
2 = READ_WRITE
4 = READ_CAPTURE_SECONDARY
desired_state_desc nvarchar(60) Текстовое описание требуемого режима работы хранилище запросов:

OFF
READ_ONLY
READ_WRITE
READ_CAPTURE_SECONDARY
actual_state smallint Указывает режим работы хранилище запросов. Помимо списка требуемых состояний, необходимых пользователю, фактическое состояние может быть состоянием ошибки.

0 = OFF
1 = READ_ONLY
2 = READ_WRITE
3 = ERROR
4 = READ_CAPTURE_SECONDARY
actual_state_desc nvarchar(60) Текстовое описание фактического режима работы хранилище запросов.

OFF
READ_ONLY
READ_WRITE
ERROR
READ_CAPTURE_SECONDARY

Существуют ситуации, когда фактическое состояние отличается от требуемого состояния:
— Если для базы данных задан режим только для чтения или если размер хранилище запросов превышает настроенную квоту, хранилище запросов может работать в режиме только для чтения, даже если указан параметр чтения и записи.
— В экстремальных сценариях хранилище запросов может ввести состояние ERROR из-за внутренних ошибок. В SQL Server 2017 (14.x) и более поздних версиях хранилище запросов можно восстановить, выполнив sp_query_store_consistency_check хранимую процедуру в затронутой базе данных. Если выполнение sp_query_store_consistency_check не работает, или если вы используете SQL Server 2016 (13.x), необходимо очистить данные, выполнив команду ALTER DATABASE [YourDatabaseName] SET QUERY_STORE CLEAR ALL;
readonly_reason int desired_state_desc Когда и READ_ONLYREAD_WRITE actual_state_desc есть, readonly_reason возвращает битовую карту, чтобы указать, почему хранилище запросов находится в режиме чтения.

1 — база данных находится в режиме только для чтения
2 — база данных находится в однопользовательском режиме
4 — база данных находится в аварийном режиме
8— база данных является вторичной репликой (применяется к группам доступности и База данных SQL Azure георепликации). Это значение можно эффективно наблюдать только на readable вторичных репликах.
65536— хранилище запросов достиг предела размера, заданного параметромmax_storage_size_mb. Дополнительные сведения об этом параметре см. в разделе ALTER DATABASE SET.
131072— Количество различных инструкций в хранилище запросов достигло предела внутренней памяти. Рассмотрите возможность удаления запросов, которые не требуются или обновления до более высокого уровня служб, чтобы включить передачу хранилище запросов в режим чтения и записи.
262144 — Размер элементов в памяти, ожидающих сохранения на диске, достиг предела внутренней памяти. хранилище запросов временно находится в режиме только для чтения, пока элементы в памяти не сохраняются на диске.
524288 — достигнуто ограничение размера диска базы данных. хранилище запросов является частью пользовательской базы данных, поэтому если для базы данных больше нет свободного места, это означает, что хранилище запросов больше не может расти.

Чтобы переключить режим хранилище запросов операций обратно на чтение и запись, см. сведения о том, что хранилище запросов постоянно собирает данные запроса.
current_storage_size_mb bigint Размер хранилище запросов на диске в мегабайтах.
flush_interval_seconds bigint Период регулярного очистки данных хранилище запросов на диск в секундах. Значение по умолчанию — 900 (15 мин).

Изменение с помощью инструкции ALTER DATABASE <database> SET QUERY_STORE (DATA_FLUSH_INTERVAL_SECONDS = <interval>) .
interval_length_minutes bigint Интервал агрегирования статистики в минутах. Произвольные значения не допускаются. Используйте одно из следующих значений: 1, 5, 10, 15, 30, и 1440 60минуты. Значение по умолчанию — 60 минут.
max_storage_size_mb bigint Максимальный размер диска для хранилище запросов в мегабайтах (МБ). Значение по умолчанию — 100 МБ до SQL Server 2017 (14.x) и 1 ГБ в SQL Server 2019 (15.x) и более поздних версиях.

Для выпуска База данных SQL Premium значение по умолчанию составляет 1 ГБ, а для выпуска База данных SQL Basic по умолчанию — 10 МБ.

Изменение с помощью инструкции ALTER DATABASE <database> SET QUERY_STORE (MAX_STORAGE_SIZE_MB = <size>) .
stale_query_threshold_days bigint Количество дней, в течение которых сведения для запроса хранятся в хранилище запросов. Значение по умолчанию: 30. Установите для 0 отключения политики хранения.
Для выпуска База данных SQL Basic значение по умолчанию составляет 7 дней.

Изменение с помощью инструкции ALTER DATABASE <database> SET QUERY_STORE (CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = <value>)) .
max_plans_per_query bigint Ограничивает максимальное количество сохраненных планов. Значение по умолчанию: 200. Если достигнуто максимальное значение, хранилище запросов перестает записывать новые планы для этого запроса. Параметр для 0 удаления ограничения количества захваченных планов.

Изменение с помощью инструкции ALTER DATABASE<database> SET QUERY_STORE (MAX_PLANS_PER_QUERY = <n>) .
query_capture_mode smallint Режим записи текущих активных запросов:

1 = ALL — фиксируются все запросы. Это значение конфигурации по умолчанию для SQL Server 2016 (13.x) и более поздних версий.

2 = AUTO — фиксирует соответствующие запросы на основе количества выполнения и потребления ресурсов. Это значение конфигурации по умолчанию для База данных SQL.

3 = NONE — остановите запись новых запросов. хранилище запросов продолжает собирать статистику компиляции и среды выполнения для запросов, которые уже были записаны. Используйте эту конфигурацию осторожно, так как вы можете пропустить запись важных запросов.

4 = CUSTOM — позволяет более контролировать политику отслеживания запросов с помощью параметров QUERY_CAPTURE_POLICY.

Область применения: SQL Server 2019 (15.x) и более поздних версий.
query_capture_mode_desc nvarchar(60) Текстовое описание фактического режима захвата хранилище запросов:

ALL (по умолчанию для SQL Server 2016 (13.x) и более поздних версий)

AUTO(по умолчанию для База данных SQL)

NONE

CUSTOM
capture_policy_execution_count int Параметр политики режима CUSTOM отслеживания запросов. Определяет количество выполнений запроса в течение ознакомительного периода. Значение по умолчанию — 30.

Область применения: SQL Server 2019 (15.x) и более поздних версий.
capture_policy_total_compile_cpu_time_ms bigint Параметр политики режима CUSTOM отслеживания запросов. Определяет общее время ЦП, затраченное на компиляцию, которое запрос использовал за ознакомительный период. Значение по умолчанию — 1000.

Область применения: SQL Server 2019 (15.x) и более поздних версий.
capture_policy_total_execution_cpu_time_ms bigint Параметр политики режима CUSTOM отслеживания запросов. Определяет общее время ЦП, затраченное на выполнение, которое запрос использовал за ознакомительный период. Значение по умолчанию — 100.

Область применения: SQL Server 2019 (15.x) и более поздних версий.
capture_policy_stale_threshold_hours int Параметр политики режима CUSTOM отслеживания запросов. Определяет период интервала ознакомления для определения того, нужно ли записать запрос. Значение по умолчанию — 24 часа.

Область применения: SQL Server 2019 (15.x) и более поздних версий.
size_based_cleanup_mode smallint Определяет, активируется ли очистка автоматически, когда общий объем данных приближается к максимальному размеру:

0 = OFF — очистка на основе размера не активируется автоматически.
1 = AUTO— очистка на основе размера автоматически активируется, когда размер диска достигает 90 процентовmax_storage_size_mb. Это значение конфигурации по умолчанию.

Эта очистка сначала удаляет самые дешевые и самые старые запросы. Он останавливается, когда достигается примерно 80 процентовmax_storage_size_mb.
size_based_cleanup_mode_desc nvarchar(60) Текстовое описание фактического режима очистки на основе размера хранилище запросов:

OFF
AUTO (по умолчанию)
wait_stats_capture_mode smallint Определяет, выполняет ли хранилище запросов сбор статистики ожидания:

0 = OFF
1 = ON

Область применения: SQL Server 2017 (14.x) и более поздних версий.
wait_stats_capture_mode_desc nvarchar(60) Текстовое описание фактического режима отслеживания статистики ожидания:

OFF
ON (по умолчанию)

Область применения: SQL Server 2017 (14.x) и более поздних версий.
actual_state_additional_info nvarchar(4000) В настоящее время не используется.

Разрешения

Требуется разрешение VIEW DATABASE STATE.

Замечания

Значением actual_state_desc READ_CAPTURE_SECONDARY является ожидаемое состояние при включении хранилище запросов для вторичных реплик. Дополнительные сведения см. в хранилище запросов для вторичных реплик.