ALTER RESOURCE GOVERNOR (Transact-SQL)
Эта команда используется для выполнения следующих действий.
Применение изменений конфигурации, указанных при вызове инструкций CREATE|ALTER|DROP WORKLOAD GROUP или CREATE|ALTER|DROP RESOURCE POOL.
Включение или отключение регулятора ресурсов.
Настройка классификации для входящих запросов.
Сброс статистики группы рабочей нагрузки и пула ресурсов.
Синтаксис
ALTER RESOURCE GOVERNOR
{ DISABLE | RECONFIGURE }
|
WITH ( CLASSIFIER_FUNCTION = { schema_name.function_name | NULL } )
|
RESET STATISTICS
[ ; ]
Аргументы
Условие |
Определение |
DISABLE | RECONFIGURE |
DISABLE отключает регулятор ресурсов. В результате отключения регулятора ресурсов происходит следующее:
Если регулятор ресурсов не включен, то 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). |
Замечания
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;
См. также