Настройка предела затрат регулятора запросов (параметр конфигурации сервера)

Применимо к:SQL Server

В этом разделе описываются способы настройки параметра конфигурации сервера query governor cost limit в SQL Server с помощью среды SQL Server Management Studio или Transact-SQL. Параметр cost limit задает верхний предел предполагаемых затрат, разрешенных для выполнения этого запроса. Затратность запроса — это абстрактная цифра, определяемая оптимизатором запросов на основе предполагаемых требований к выполнению, таких как время ЦП, память и дисковые операции ввода-вывода. Это предполагаемое затраченное время в секундах, которое потребуется для завершения запроса в конкретной конфигурации оборудования. Эта абстрактная цифра не соответствует времени, требуемому для завершения запроса на запущенном экземпляре. Ее следует рассматривать как относительный показатель. Значение по умолчанию для этого параметра — 0, при котором регулятор запросов отключен. Установка значения на 0 позволяет выполнять запросы без ограничений по времени. Если задать значение больше нуля, регулятор запросов запрещает выполнение всех запросов, оценочная стоимость которых превышает это значение.

В этом разделе

Перед началом

Рекомендации

  • Это расширенный параметр, и изменять его следует только опытным администраторам баз данных или сертифицированным по SQL Server специалистам.

  • Чтобы изменить значение параметра query governor cost limit для каждого соединения, используйте инструкцию SET QUERY_GOVERNOR_COST_LIMIT .

Безопасность

Разрешения

Разрешения на выполнение хранимой процедуры sp_configure без параметров или только с первым параметром по умолчанию предоставляются всем пользователям. Для выполнения процедуры sp_configure с обоими параметрами для изменения параметра конфигурации или запуска инструкции RECONFIGURE необходимо иметь разрешение ALTER SETTINGS на уровне сервера. Разрешение ALTER SETTINGS неявным образом предоставлено предопределенным ролям сервера sysadmin и serveradmin .

Использование среды SQL Server Management Studio

Настройка параметра query governor cost limit

  1. В обозревателе объектов щелкните правой кнопкой мыши сервер и выберите пункт Свойства.

  2. Перейдите на страницу Соединения .

  3. Установите или снимите флажок Использовать регулятор запросов для сокращения времени их выполнения .

    При установке этого флажка введите в поле внизу положительное значение, которое регулятор запросов использует для запрещения выполнения запросов с оценочной стоимостью, превышающей это значение.

Использование Transact-SQL

Настройка параметра query governor cost limit

  1. Установите соединение с компонентом Компонент Database Engine.

  2. На панели «Стандартная» нажмите Создать запрос.

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В этом примере показано использование sp_configure для задания значения параметра query governor cost limit с максимальными затратами на запрос 120.

USE AdventureWorks2022;  
GO  
EXEC sp_configure 'show advanced options', 1;  
GO  
RECONFIGURE ;  
GO  
EXEC sp_configure 'query governor cost limit', 120 ;  
GO  
RECONFIGURE;  
GO  
  

Дополнительные сведения см. в разделе Параметры конфигурации сервера (SQL Server).

Продолжение: после настройки параметра query governor cost limit

Параметр вступает в силу немедленно, без перезапуска сервера.

См. также:

RECONFIGURE (Transact-SQL)
SET QUERY_GOVERNOR_COST_LIMIT (Transact-SQL)
Параметры конфигурации сервера (SQL Server)
sp_configure (Transact-SQL)