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_ONLY READ_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
является ожидаемое состояние при включении хранилище запросов для вторичных реплик. Дополнительные сведения см. в хранилище запросов для вторичных реплик.
Связанный контент
- 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)
- Мониторинг производительности с использованием хранилища запросов
- Представления системного каталога (Transact-SQL)
- sys.fn_stmt_sql_handle_from_sql_stmt (Transact-SQL)
- Хранимые процедуры хранилища запросов (Transact-SQL)