Поделиться через


Конфигурация сервера: ограничение затрат регулятора запросов

Область применения: 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

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

  2. Выберите страницу "Подключения".

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

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

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

  1. Соединитесь с ядром СУБД .

  2. На стандартной панели выберите пункт Создать запрос.

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

    USE master;
    GO
    
    EXECUTE sp_configure 'show advanced options', 1;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'query governor cost limit', 120;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'show advanced options', 0;
    GO
    
    RECONFIGURE;
    GO
    

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

Дальнейшие действия. После настройки параметра ограничения затрат регулятора запросов

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