sys.database_query_store_options (Transact-SQL)
Область применения: SQL Server 2016 (13.x) и более поздних
версий Управляемого экземпляра
Базы данных
SQL Azure Azure Synapse Analytics
Возвращает параметры хранилища запросов для этой базы данных.
Область применения: SQL Server (SQL Server 2016 (13.x) и более поздних версий), База данных SQL.
Имя столбца | Тип данных | Описание: |
---|---|---|
desired_state | smallint | Указывает требуемый режим работы хранилища запросов, явно заданный пользователем. 0 = выключен. 1 = READ_ONLY 2 = READ_WRITE 4 = READ_CAPTURE_SECONDARY |
desired_state_desc | nvarchar(60) | Текстовое описание требуемого режима работы хранилища запросов: ВЫКЛ. READ_ONLY READ_WRITE READ_CAPTURE_SECONDARY |
actual_state | smallint | Указывает режим работы хранилища запросов. Помимо списка требуемых состояний, необходимых пользователю, фактическое состояние может быть состоянием ошибки. 0 = выключен. 1 = READ_ONLY 2 = READ_WRITE 3 = ERROR 4 = READ_CAPTURE_SECONDARY |
actual_state_desc | nvarchar(60) | Текстовое описание фактического режима работы хранилища запросов. ВЫКЛ. READ_ONLY READ_WRITE ОШИБКА 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_WRITE и actual_state_desc READ_ONLY, readonly_reason возвращает битовую карту, чтобы указать, почему хранилище запросов находится в режиме чтения. 1 . База данных находится в режиме только для чтения 2 . База данных находится в однопользовательском режиме 4 . База данных находится в режиме экстренного реагирования 8 . База данных является вторичной репликой (применяется к группам доступности и георепликации базы данных SQL Azure). Это значение можно эффективно наблюдать только в доступных для чтения вторичных репликах. 65536 — хранилище запросов достигло ограничения размера, заданного параметром MAX_STORAGE_SIZE_MB . Дополнительные сведения об этом параметре см. в разделе "ПАРАМЕТРЫ ALTER DATABASE SET" (Transact-SQL).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, 60 и 1440 минут. Значение по умолчанию — 60 минут. |
max_storage_size_mb | bigint | Максимальный размер диска для хранилища запросов в мегабайтах (МБ). Значение по умолчанию — 100 МБ до SQL Server 2017 (14.x) и 1 ГБ , начиная с SQL Server 2019 (15.x). Для выпуска Sql Database 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 = ВСЕ — все запросы записываются. Это значение конфигурации по умолчанию для SQL Server (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 ПОЛЬЗОВАТЕЛЬСКАЯ |
capture_policy_execution_count | int | Параметр настраиваемой политики режима записи запросов. Определяет количество выполнений запроса в течение ознакомительного периода. Значение по умолчанию равно 30. Область применения: SQL Server 2019 (15.x) и более поздних версий. |
capture_policy_total_compile_cpu_time_ms | bigint | Параметр настраиваемой политики режима записи запросов. Определяет общее время ЦП, затраченное на компиляцию, которое запрос использовал за ознакомительный период. Значение по умолчанию — 1000. Область применения: SQL Server 2019 (15.x) и более поздних версий. |
capture_policy_total_execution_cpu_time_ms | bigint | Параметр настраиваемой политики режима записи запросов. Определяет общее время ЦП, затраченное на выполнение, которое запрос использовал за ознакомительный период. Значение по умолчанию равно 100. Область применения: SQL Server 2019 (15.x) и более поздних версий. |
capture_policy_stale_threshold_hours | int | Параметр настраиваемой политики режима записи запросов. Определяет период интервала ознакомления для определения того, нужно ли записать запрос. Значение по умолчанию — 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) | Текстовое описание фактического режима очистки на основе размера хранилища запросов: ВЫКЛ. AUTO (по умолчанию) |
wait_stats_capture_mode | smallint | Определяет, выполняется ли хранилище запросов запись статистики ожидания: 0 = выключен. 1 = ON Область применения: SQL Server 2017 (14.x) и более поздних версий. |
wait_stats_capture_mode_desc | nvarchar(60) | Текстовое описание фактического режима отслеживания статистики ожидания: ВЫКЛ. ON (по умолчанию) Область применения: SQL Server 2017 (14.x) и более поздних версий. |
actual_state_additional_info | nvarchar(8000) | В настоящее время не используется. |
Разрешения
Требуется разрешение 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)
Обратная связь
Отправить и просмотреть отзыв по