ALTER RESOURCE GOVERNOR (Transact-SQL)

Эта инструкция применяется для выполнения следующих действий регулятора ресурсов в SQL Server.

  • Применение изменений конфигурации, указанных при вызове инструкций CREATE|ALTER|DROP WORKLOAD GROUP или CREATE|ALTER|DROP RESOURCE POOL.

  • Включение или отключение регулятора ресурсов.

  • Настройка классификации для входящих запросов.

  • Сброс статистики группы рабочей нагрузки и пула ресурсов.

  • Устанавливает максимальное число операций ввода-вывода для тома диска.

Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии).

Значок ссылки на раздел Синтаксические обозначения в Transact-SQL

Синтаксис

ALTER RESOURCE GOVERNOR 
    { DISABLE | RECONFIGURE }
|
    WITH ( CLASSIFIER_FUNCTION = { schema_name.function_name | NULL } )
|
    RESET STATISTICS
| 
    WITH ( MAX_OUTSTANDING_IO_PER_VOLUME = value ) 

[ ; ]

Аргументы

  • DISABLE
    Отключение регулятора ресурсов. В результате отключения регулятора ресурсов происходит следующее.

    • Функция-классификатор не выполняется.

    • Новые соединения автоматически попадают в группу по умолчанию.

    • Инициированные системой запросы попадают во внутреннюю группу рабочей нагрузки.

    • Все существующие параметры групп рабочей нагрузки и пулов ресурсов сбрасываются в значения по умолчанию. В этом случае при достижении ограничений не возникает никаких событий.

    • Обычное наблюдение за системой не затрагивается.

    • Изменения конфигурации можно внести, но изменения не будут выполнены, если включен регулятор ресурсов.

    • При перезапуске SQL Server регулятор ресурсов не будет загружать конфигурацию; вместо этого будут настроены только внутренние группы и пулы, а также группы и пулы, заданные по умолчанию.

  • RECONFIGURE
    Если регулятор ресурсов не включен, то RECONFIGURE включит регулятор ресурсов. В результате включения регулятора ресурсов произойдет следующее.

    • Будет выполнена функция-классификатор для новых соединений, что позволит связать их рабочую нагрузку с определенными группами рабочей нагрузки.

    • Ограничения ресурсов, заданные в конфигурации регулятора ресурсов, будут соблюдены и применены.

    • Любые изменения конфигурации, внесенные в то время, пока регулятор ресурсов был отключен, затрагивают запросы, которые существовали до включения регулятора ресурсов.

    Параметр RECONFIGURE, использованный в ситуации, когда регулятор ресурсов выполняется, применяет любые изменения конфигурации, запрашиваемые при выполнении инструкций CREATE|ALTER|DROP WORKLOAD GROUP или CREATE|ALTER|DROP RESOURCE POOL.

    Важное примечаниеВажно!

    Чтобы любые изменения конфигурации вступили в силу, необходимо вызвать инструкцию ALTER RESOURCE GOVERNOR RECONFIGURE.

  • CLASSIFIER_FUNCTION = { schema_name**.**function_name | NULL }
    Регистрирует функцию классификации, указанную аргументом schema_name.function_name. Эта функция классифицирует каждый новый сеанс и назначает запросы сеанса в группу рабочей нагрузки. При использовании значения NULL новые сеансы автоматически назначаются в группу рабочей нагрузки по умолчанию.

  • RESET STATISTICS
    Сбрасывает статистику всех групп рабочей нагрузки и пулов ресурсов. Дополнительные сведения см. в разделах sys.dm_resource_governor_workload_groups (Transact-SQL) и sys.dm_resource_governor_resource_pools (Transact-SQL).

  • MAX_OUTSTANDING_IO_PER_VOLUME = value

    Применимо для следующих объектов: С SQL Server 2014 по SQL Server 2014 включительно.

    Устанавливает максимальное число поставленных в очередь операций ввода-вывода для тома диска. Эти операции ввода-вывода могут быть операциями чтения или записи любого размера. Максимальное значение для MAX_OUTSTANDING_IO_PER_VOLUME равно 100. Это значение не в процентах. Этот параметр предназначен для подстройки управление ресурсами ввода-вывода к характеристикам ввода-вывода дискового тома. Рекомендуется поэкспериментировать с различными значениями и ознакомиться с использованием калибровочного средства наподобие IOMeter или SQLIO, чтобы определить максимальное значение для имеющейся подсистемы хранения. Данный параметр предоставляет проверку безопасности на уровне системы, позволяющую SQL Server соответствовать минимальному числу операций ввода-вывода в секунда для пулов ресурсов, даже если в других пулах значение MAX_IOPS_PER_VOLUME неограниченно. Дополнительные сведения о параметре MAX_IOPS_PER_VOLUME см. в разделе CREATE RESOURCE POOL.

Замечания

ALTER RESOURCE GOVERNOR DISABLE, ALTER RESOURCE GOVERNOR RECONFIGURE и ALTER RESOURCE GOVERNOR RESET STATISTICS не могут использоваться в пользовательской транзакции.

Параметр RECONFIGURE входит в состав синтаксиса регулятора ресурсов, и его не следует путать с ключевым словом RECONFIGURE, которое представляет собой отдельную инструкцию DDL.

Рекомендуется ознакомиться с состояниями регулятора ресурсов, прежде чем приступить к выполнению инструкций DLL. Дополнительные сведения см. в разделе Регулятор ресурсов.

Разрешения

Требуется разрешение CONTROL SERVER.

Примеры

А.Запуск регулятора ресурсов

При первоначальной установке SQL Server регулятор ресурсов отключен. В следующем примере выполняется запуск регулятора ресурсов. После выполнения предыдущей инструкции регулятор ресурсов запускается и может использовать стандартные группы рабочей нагрузки и пулы ресурсов.

ALTER RESOURCE GOVERNOR RECONFIGURE;

Б.Назначение новых сеансов группе по умолчанию

В следующем примере назначаются все новые сеансы группе рабочей нагрузки по умолчанию путем удаления всех существующих функций-классификаторов из конфигурации регулятора ресурсов. Если не назначены функции-классификаторы, все новые сеансы назначаются группе рабочей нагрузки по умолчанию. Это изменение применимо только к новым сеансам. На существующие сеансы оно не влияет.

ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION = NULL);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;

В.Создание и регистрация функции-классификатора

В следующем примере создается функция-классификатор с именем dbo.rgclassifier_v1. Эта функция классифицирует каждый новый сеанс на основе имени пользователя или имени приложения и назначает запросы сеанса и запросы в группу рабочей нагрузки. Сеансы, которые не сопоставляются с именами определенного пользователя или приложения, назначаются группе рабочей нагрузки по умолчанию. После этого регистрируется функция-классификатор и применяются изменения конфигурации.

-- Store the classifier function in the master database.
USE master;
GO
SET ANSI_NULLS ON;
GO
SET QUOTED_IDENTIFIER ON;
GO
CREATE FUNCTION dbo.rgclassifier_v1() RETURNS sysname 
WITH SCHEMABINDING
AS
BEGIN
-- Declare the variable to hold the value returned in sysname.
    DECLARE @grp_name AS sysname
-- If the user login is 'sa', map the connection to the groupAdmin
-- workload group. 
    IF (SUSER_NAME() = 'sa')
        SET @grp_name = 'groupAdmin'
-- Use application information to map the connection to the groupAdhoc
-- workload group.
    ELSE IF (APP_NAME() LIKE '%MANAGEMENT STUDIO%')
        OR (APP_NAME() LIKE '%QUERY ANALYZER%')
            SET @grp_name = 'groupAdhoc'
-- If the application is for reporting, map the connection to
-- the groupReports workload group.
    ELSE IF (APP_NAME() LIKE '%REPORT SERVER%')
        SET @grp_name = 'groupReports'
-- If the connection does not map to any of the previous groups,
-- put the connection into the default workload group.
    ELSE
        SET @grp_name = 'default'
    RETURN @grp_name
END;
GO
-- Register the classifier user-defined function and update the 
-- the in-memory configuration.
ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION=dbo.rgclassifier_v1);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO

Г.Сброс статистики

В следующем примере сбрасывается статистика всех групп рабочей нагрузки и пулов ресурсов.

ALTER RESOURCE GOVERNOR RESET STATISTICS;

Д.Установка параметра MAX_OUTSTANDING_IO_PER_VOLUME

В следующем примере для параметра MAX_OUTSTANDING_IO_PER_VOLUME задается значение 20.

ALTER RESOURCE GOVERNOR
WITH (MAX_OUTSTANDING_IO_PER_VOLUME = 20); 

См. также

Справочник

CREATE RESOURCE POOL (Transact-SQL)

Инструкция ALTER RESOURCE POOL (Transact-SQL)

DROP RESOURCE POOL (Transact-SQL)

CREATE WORKLOAD GROUP (Transact-SQL)

ALTER WORKLOAD GROUP (Transact-SQL)

DROP WORKLOAD GROUP (Transact-SQL)

sys.dm_resource_governor_workload_groups (Transact-SQL)

sys.dm_resource_governor_resource_pools (Transact-SQL)

Основные понятия

Регулятор ресурсов