ALTER RESOURCE GOVERNOR (Transact-SQL)

Este comando é usado para executar as seguintes ações:

  • Aplicar as alterações de configuração especificadas quando as instruções CREATE|ALTER|DROP WORKLOAD GROUP ou CREATE|ALTER|DROP RESOURCE POOL forem emitidas.

  • Habilitar ou desabilitar o Administrador de Recursos.

  • Configurar a classificação de solicitações de entrada.

  • Reiniciar o grupo de carga de trabalho e as estatísticas de pool de recursos.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

ALTER RESOURCE GOVERNOR 
    { DISABLE | RECONFIGURE }
|
        WITH ( CLASSIFIER_FUNCTION = { schema_name.function_name | NULL } )
|
    RESET STATISTICS
[ ; ]

Argumentos

Termo

Definição

DISABLE | RECONFIGURE

DISABLE desabilita o Administrador de Recursos. A desabilitação do Administrador de Recursos gera os seguintes resultados:

  • A função de classificação não é executada.

  • Todas as conexões novas são automaticamente classificadas no grupo padrão.

  • As solicitações iniciadas pelo sistema são classificadas no grupo de carga de trabalho interno.

  • Todas as configurações existentes do grupo de carga de trabalho e do pool de recursos são redefinidas para os valores padrão. Nesse caso, nenhum evento é acionado quando os limites são atingidos.

  • O monitoramento normal do sistema não é afetado.

  • As alterações de configuração podem ser feitas, mas as alterações não entram em vigor até que o Administrador de Recursos seja habilitado.

  • Depois que o SQL Server for reiniciado, o Administrador de Recursos não carregará sua configuração, mas em vez disso terá apenas os grupos e pools padrão e internos.

Quando o Administrador de Recursos não está habilitado, RECONFIGURE habilita o Administrador de Recursos. A habilitação do Administrador de Recursos gera os seguintes resultados:

  • A função de classificação é executada para conexões novas, de forma que a carga de trabalho possa ser atribuída a grupos de carga de trabalho.

  • Os limites de recursos especificados na configuração do Administrador de Recursos são cumpridos e impostos.

  • As solicitações existentes antes da habilitação do Administrador de Recursos são afetadas por todas as alterações feitas na configuração quando o Administrador de Recursos foi desabilitado.

Quando o Administrador de Recursos é executado, RECONFIGURE será aplicada a qualquer alteração de configuração solicitada quando as instruções CREATE|ALTER|DROP WORKLOAD GROUP ou CREATE|ALTER|DROP RESOURCE POOL forem executadas.

Observação importanteImportante
ALTER RESOURCE GOVERNOR RECONFIGURE deve ser emitida para que qualquer alteração de configuração entre em vigor.

CLASSIFIER_FUNCTION = { schema_name.function_name | NULL }

Registra a função de classificação especificada por schema_name.function_name. Essa função classifica cada sessão nova e atribui as solicitações e consultas de sessão a um grupo de carga de trabalho. Quando NULL é usado, novas sessões são automaticamente atribuídas ao grupo de carga de trabalho padrão.

RESET STATISTICS

Zerar estatísticas sobre todos os grupos de cargas de trabalho e pools de recursos. Para obter mais informações, consulte sys.dm_resource_governor_workload_groups (Transact-SQL) e sys.dm_resource_governor_resource_pools (Transact-SQL).

Comentários

ALTER RESOURCE GOVERNOR DISABLE, ALTER RESOURCE GOVERNOR RECONFIGURE, e ALTER RESOURCE GOVERNOR RESET STATISTICS não podem ser usados em uma transação de usuário.

O parâmetro RECONFIGURE é parte da sintaxe do Administrador de Recursos e não deve ser confundido com RECONFIGURE, que é uma instrução DDL diferente.

Recomendamos que você esteja familiarizado com os estados do Administrador de recursos antes de executar as instruções DDL. Para obter mais informações, consulte Estados do Administrador de Recursos.

Permissões

Requer a permissão CONTROL SERVER.

Exemplos

A. Iniciando o Administrador de Recursos

Quando o SQL Server for instalado primeiro, o Administrador de recursos será desabilitado. O exemplo a seguir inicia o Administrador de Recursos. Depois de executada a instrução, o Administrador de Recursos está em execução e pode usar os grupos de carga de trabalho e pools de recursos predefinidos.

ALTER RESOURCE GOVERNOR RECONFIGURE;

B. Atribuindo novas sessões ao grupo padrão

O exemplo a seguir atribui todas as sessões novas ao grupo de carga de trabalho padrão, removendo qualquer função de classificação existente da configuração do Administrador de Recursos. Quando nenhuma função é designada como uma função de classificação, todas as sessões novas são atribuídas ao grupo de carga de trabalho padrão. Essa alteração só se aplica a sessões novas. As sessões existentes não são afetadas.

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

C. Criando e registrando uma função de classificação

O exemplo a seguir cria uma função de classificação chamada dbo.rgclassifier_v1. A função classifica cada sessão nova com base no nome do usuário ou nome de aplicativo e atribui as consultas e solicitações de sessão a um grupo de carga de trabalho específico. As sessões que não são mapeadas para o usuário especificado ou nomes de aplicativos são atribuídas ao grupo de carga de trabalho padrão. A função de classificação é registrada e a alteração de configuração é aplicada.

-- 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

D. Redefinindo as estatísticas

O exemplo a seguir redefine todas as estatísticas do grupo de carga de trabalho e pool.

ALTER RESOURCE GOVERNOR RESET STATISTICS;