Partilhar via


ALTER ADMINISTRADOR DE RECURSOS (Transact-SQL)

Aplica-se a:SQL ServerAzure SQL Managed Instance

Esta instrução executa as seguintes ações do administrador de recursos:

  • Habilite ou desabilite o administrador de recursos.
  • Aplique as alterações de configuração especificadas quando as instruções CREATE | ALTER | DROP WORKLOAD GROUP ou CREATE | ALTER | DROP RESOURCE POOL ou CREATE | ALTER | DROP EXTERNAL RESOURCE POOL são executadas.
  • Configure a classificação para sessões de entrada.
  • Redefina as estatísticas do grupo de carga de trabalho e do pool de recursos.
  • Defina o máximo de operações de E/S em fila por volume de disco.

Transact-SQL convenções de sintaxe

Sintaxe

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

Argumentos

RECONFIGURAR

Quando o administrador de recursos não está habilitado, RECONFIGURE habilita o administrador de recursos. A habilitação do administrador de recursos tem os seguintes resultados:

  • A função de classificador, se houver, é executada para novas sessões, atribuindo-as a grupos de carga de trabalho.
  • As reservas e limites de recursos especificados na configuração do administrador de recursos são honrados e aplicados.
  • As solicitações que existiam antes de habilitar o administrador de recursos podem ser afetadas por quaisquer alterações de configuração feitas quando o administrador de recursos está habilitado.

Quando o administrador de recursos está habilitado, RECONFIGURE aplica quaisquer alterações de configuração feitas pelas instruções CREATE | ALTER | DROP WORKLOAD GROUP ou CREATE | ALTER | DROP RESOURCE POOL ou CREATE | ALTER | DROP EXTERNAL RESOURCE POOL após o uso anterior do RECONFIGURE ou após a última reinicialização do Mecanismo de Banco de Dados.

Importante

ALTER RESOURCE GOVERNOR RECONFIGURE deve ser executada para que quaisquer alterações de configuração do administrador de recursos entrem em vigor.

CLASSIFIER_FUNCTION = { schema_name.function_name | NULL }

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

MAX_OUTSTANDING_IO_PER_VOLUME = valor

Aplica-se a: SQL Server 2014 (12.x) e posterior.

Define o máximo de operações de E/S enfileiradas por volume de disco. Essas operações de E/S podem ser leituras ou gravações de qualquer tamanho. O valor máximo para MAX_OUTSTANDING_IO_PER_VOLUME é 100. O valor não é uma percentagem. Essa configuração foi projetada para ajustar a governança de recursos de E/S às características de E/S de um volume de disco. Ele fornece uma verificação de segurança no nível do sistema que permite que o Mecanismo de Banco de Dados atenda à configuração de MIN_IOPS_PER_VOLUME especificada para pools de recursos, mesmo que outros pools tenham a configuração MAX_IOPS_PER_VOLUME definida como ilimitada. Para obter mais informações, consulte CREATE RESOURCE POOL.

DESATIVAR

Desabilita o administrador de recursos. A desativação do administrador de recursos tem os seguintes resultados:

  • A função de classificador não é executada.
  • Todas as novas sessões de usuário são classificadas automaticamente no grupo de carga de trabalho default.
  • As sessões do sistema são classificadas no grupo de carga de trabalho internal.
  • Todas as configurações de grupo de carga de trabalho e pool de recursos existentes são redefinidas para seus valores padrão. Nenhum evento é disparado quando os limites são atingidos.
  • O monitoramento normal do sistema não é afetado.
  • As alterações de configuração do administrador de recursos podem ser feitas, mas as alterações não entram em vigor até que o administrador de recursos esteja habilitado.
  • Depois de reiniciar o Mecanismo de Banco de Dados, o administrador de recursos não carrega sua configuração, mas usa apenas os grupos de carga de trabalho default e internal e pools de recursos.

REDEFINIR ESTATÍSTICAS

Redefine estatísticas sobre todos os grupos de carga de trabalho e pools de recursos expostos no sys.dm_resource_governor_workload_groups e sys.dm_resource_governor_resource_pools.

Comentários

ALTER RESOURCE GOVERNOR não pode ser usado dentro de uma transação de usuário.

O parâmetro RECONFIGURE faz parte da sintaxe do administrador de recursos. Não deve ser confundido com RECONFIGURE, que é uma instrução DDL separada.

Para obter mais informações, consulte Administrador de recursos.

Permissões

Requer a permissão de CONTROL SERVER.

Exemplos

Habilitar o administrador de recursos

Quando o SQL Server é instalado, o administrador de recursos é desabilitado. O exemplo a seguir habilita o administrador de recursos. Depois que a instrução é executada, o administrador de recursos é habilitado e usa grupos de carga de trabalho internos e pools de recursos.

ALTER RESOURCE GOVERNOR RECONFIGURE;

Atribuir novas sessões ao grupo padrão

O exemplo a seguir atribui todas as novas sessões ao grupo de carga de trabalho default removendo qualquer função de classificador existente da configuração do administrador de recursos. Quando nenhuma função é designada como função de classificador, todas as novas sessões de usuário são atribuídas ao grupo de carga de trabalho default. Esta alteração aplica-se apenas a novas sessões. As sessões existentes não são afetadas.

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

Criar e registrar uma função de classificador

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

USE master;
GO

CREATE FUNCTION dbo.rg_classifier()
RETURNS sysname
WITH SCHEMABINDING
AS
BEGIN

-- Declare the variable for the function return value.
DECLARE @grp_name AS sysname;

-- If the login name is 'sa', classify the session into the groupAdmin workload group
IF (SUSER_NAME() = 'sa')
  SET @grp_name = 'groupAdmin';

-- Classify SSMS sessions into the groupAdhoc workload group
ELSE IF UPPER(APP_NAME()) LIKE '%MANAGEMENT STUDIO%'
  SET @grp_name = 'groupAdhoc';

-- Classify SSRS sessions into groupReports workload group
ELSE IF UPPER(APP_NAME()) LIKE '%REPORT SERVER%'
  SET @grp_name = 'groupReports';

-- Otherwise, classify the session into the default workload group
ELSE
  SET @grp_name = 'default';

-- Return the name of the workload group
RETURN @grp_name;

END;
GO

-- Register the classifier function and update resource governor configuration
ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION = dbo.rg_classifier);
ALTER RESOURCE GOVERNOR RECONFIGURE;

Redefinir estatísticas do administrador de recursos

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

ALTER RESOURCE GOVERNOR RESET STATISTICS;

Definir a configuração MAX_OUTSTANDING_IO_PER_VOLUME

O exemplo a seguir define a configuração MAX_OUTSTANDING_IO_PER_VOLUME como 20 IOs.

ALTER RESOURCE GOVERNOR WITH (MAX_OUTSTANDING_IO_PER_VOLUME = 20);