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
ouCREATE | ALTER | DROP RESOURCE POOL
ouCREATE | 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
einternal
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);
Conteúdo relacionado
- Administrador de recursos
- Exemplos de configuração do administrador de recursos e práticas recomendadas
- CRIAR POOL DE RECURSOS
- ALTERAR O POOL DE RECURSOS
- DESCARTAR POOL DE RECURSOS
- CRIAR POOL DE RECURSOS EXTERNOS
- DESCARTAR POOL DE RECURSOS EXTERNOS
- ALTERAR O POOL DE RECURSOS EXTERNOS
- CRIAR GRUPO DE CARGA DE TRABALHO
- ALTERAM O GRUPO DE CARGA DE TRABALHO
- GRUPO DE CARGA DE TRABALHO DE QUEDA
- sys.dm_resource_governor_workload_groups
- sys.dm_resource_governor_resource_pools