ALTER RESOURCE GOVERNOR (Transact-SQL)
Aplica-se a:SQL ServerInstância Gerenciada de SQL do Azure
Esta instrução executa as seguintes ações do administrador de recursos:
- Habilitar ou desabilitar 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
forem executadas. - Configure a classificação para sessões de entrada.
- Reiniciar o grupo de carga de trabalho e as estatísticas de pool de recursos.
- Defina o máximo de operações de E/S enfileiradas por volume de disco.
Convenções de sintaxe de Transact-SQL
Sintaxe
ALTER RESOURCE GOVERNOR
{ RECONFIGURE
[ WITH
( [ CLASSIFIER_FUNCTION = { schema_name.function_name | NULL } ]
[ [ , ] MAX_OUTSTANDING_IO_PER_VOLUME = value ]
)
]
| DISABLE
| RESET STATISTICS
}
[ ; ]
Argumentos
RECONFIGURE
Quando o administrador de recursos não está habilitado, RECONFIGURE
habilita o administrador de recursos. Habilitar o 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 de recursos e os limites especificados na configuração do administrador de recursos são respeitados e impostos.
- 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 as 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 de RECONFIGURE
ou após a última reinicialização do Mecanismo de Banco de Dados.
Importante
ALTER RESOURCE GOVERNOR RECONFIGURE
deve ser executado para que as 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. Essa 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 = value
Aplica-se a: SQL Server 2014 (12.x) e posterior.
Define o máximo de operações de E/S na fila 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 porcentagem. Essa configuração é criada para ajustar a administração do recurso 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 de MAX_IOPS_PER_VOLUME
definida como ilimitada. Para obter mais informações, consulte CREATE RESOURCE POOL.
DISABLE
Desabilita o administrador de recursos. Desabilitar o 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 existentes do grupo de carga de trabalho e do pool de recursos são redefinidas para os valores padrão. Nenhum evento é disparado quando os limites são atingidos.
- O monitoramento normal do sistema não é afetado.
- Alterações de configuração do administrador de recursos podem ser feitas, mas as alterações não entrarão 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 e os pools de recursos
default
einternal
.
RESET STATISTICS
Redefine estatísticas em todos os grupos de carga de trabalho e pools de recursos expostos em 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. Ele não deve ser confundido com RECONFIGURE, que é uma instrução DDL separada.
Para obter mais informações, consulte o administrador de recursos.
Permissões
Requer a permissão 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. Após a execução da instrução, 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 uma função de classificador, todas as novas sessões de usuário são atribuídas ao grupo de carga de trabalho default
. 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);
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 sessão nova com base no nome de 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.
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 do grupo de carga de trabalho e pool de recursos.
ALTER RESOURCE GOVERNOR RESET STATISTICS;
Definir a configuração de MAX_OUTSTANDING_IO_PER_VOLUME
O exemplo a seguir define a configuração de MAX_OUTSTANDING_IO_PER_VOLUME
como 20 IOs.
ALTER RESOURCE GOVERNOR WITH (MAX_OUTSTANDING_IO_PER_VOLUME = 20);
Conteúdo relacionado
- do administrador de recursos
- exemplos de configuração do administrador de recursos e práticas recomendadas
- CRIAR DO POOL DE RECURSOS
- ALTER RESOURCE POOL
- DROP RESOURCE POOL
- CRIAR DO POOL DE RECURSOS EXTERNOS
- DROP EXTERNAL RESOURCE POOL
- ALTER EXTERNAL RESOURCE POOL
- CRIAR GRUPO DE CARGA DE TRABALHO
- ALTER WORKLOAD GROUP
- DROP WORKLOAD GROUP
- sys.dm_resource_governor_workload_groups
- sys.dm_resource_governor_resource_pools