Estados do Administrador de Recursos

O Administrador de Recursos tem dois estados SQL Server: habilitado ou desabilitado. Esses estados afetam operações básicas, assim como o processamento de carga de trabalho quando alterações são feitas na configuração. Este tópico trata dos estados do Administrador de Recursos e o que acontece quando:

  • A configuração e o estado inicial ao instalar o Administrador de Recursos.

  • O Administrador de Recursos é habilitado ou desabilitado.

  • A configuração do Administrador de Recursos é alterada.

Configuração inicial

Quando o Administrador de Recursos é instalado, os seguintes grupos de carga de trabalho e pools de recursos correspondentes são criados:

  • Grupo interno e pool interno.

  • Grupo padrão e pool padrão.

Neste momento, o Administrador de Recursos é desabilitado.

Habilitar ou desabilitar o Administrador de Recursos

Os procedimentos a seguir são comuns ao habilitar ou desabilitar o administrador de recursos.

Habilitar Administrador de Recursos

Para habilitar o Administrador de Recursos, execute ALTER RESOURCE GOVERNOR RECONFIGURE. 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.

Desabilitar Administrador de Recursos

Para desabilitar o Administrador de Recursos, execute ALTER RESOURCE GOVERNOR DISABLE. 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.

  • Será possível alterar a configuração do Administrador de Recursos quando ele estiver desabilitado, porém as alterações não entrarão 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.

Alterando a configuração do Administrador de Recursos

As alterações feitas na configuração do Administrador de Recursos não entram em vigor imediatamente. A alteração na configuração é feita em duas etapas:

  1. Emita a instrução ALTER adequada para alterar a configuração do pool de recursos ou do grupo de carga de trabalho. Isso atualiza os metadados de configuração.

  2. Emita a instrução ALTER RESOURCE GOVERNOR. Os metadados atualizados serão copiados para a configuração contida na memória. A tabela a seguir descreve quando as alterações gerais feitas na configuração entram em vigor e são exibidas na sessão do Administrador de Recursos.

Componente

Descrição

Classificação definida pelo usuário

A alteração é efetiva para as novas conexões da sessão.

Pools de recursos

As sessões de longa execução são, provavelmente, mais afetadas pela alteração; as sessões de curta execução podem terminar antes a alteração se torne efetiva.

Grupo de carga de trabalho

As sessões atuais não são afetadas pela alteração, porém as conexões novas são afetadas.

Além do comportamento geral da sessão durante a emissão das instruções DDL do Administrador de Recursos, as configurações individuais no pool de recursos ou no grupo de carga de trabalho geram resultados previsíveis e um efeito específico no processamento quando essas configurações são alteradas.

Configurações do pool de recursos

Há quatro definições para a configuração do pool de recursos. Estas definições são:

  • Porcentagem mínima e máxima para uso da CPU.

  • Porcentagem mínima e máxima para uso da memória.

Ao alterar a configuração do pool de recursos, haverá um período de transição no qual as solicitações ativas ou que estão aguardando são tratadas. A tabela a seguir descreve os requisitos e o comportamento da sessão durante as alterações da configuração do pool de recursos.

Configuração

Ação

Descrição

Porcentagem mínima

Aumento ou diminuição

  • Aumento: Todos os outros pools de recursos são reduzidos às suas configurações efetivas máximas. Se todas as configurações mínimas totalizarem 100%, será necessário diminuir algumas das configurações mínimas dos outros pools de recursos e, em seguida, aumentar a configuração mínima do pool de recursos atual.

  • Diminuição: Se o máximo efetivo for igual ao mínimo, a memória não alocada será recebida no pool de recursos e as solicitações enfileiradas poderão falhar. A memória alocada não é recebida no pool de recursos até que as solicitações ativas sejam concluídas.

Porcentagem máxima

Aumento ou diminuição

  • Aumento: Nenhum problema resultante da alteração na configuração.

  • Diminuição: Se o valor novo for maior do que o uso real, não haverá nenhum problema. Se o valor novo for menor do que o uso real, há um período de transição. As solicitações existentes são concluídas antes que a alteração possa ser feita, e as solicitações novas podem começar a falhar.

Configurações do grupo de carga de trabalho

Há sete definições para configurar um grupo de carga de trabalho. Essas definições são:

  • Alocação máxima de memória para uma solicitação.

  • Tempo máximo de CPU para uma solicitação.

  • Tempo limite de recurso para uma solicitação.

  • Configuração de relativa importância para uma solicitação.

  • Limite de grupo de trabalho para o número de solicitações.

  • Grau máximo de paralelismo.

  • Pool de recursos especificado.

Configuração

Ação

Descrição

Memória máxima

Aumento ou diminuição

  • Aumento. Não afeta as consultas ativas e essas consultas podem obter mais memória, se disponível.

  • Diminuição. As solicitações ativas não são afetadas, porém as solicitações novas terão menos memória.

Tempo máximo de CPU

Aumento ou diminuição

  • Aumento. Não afeta as consultas ativas.

  • Diminuição. Faz com que um evento seja acionado para a consulta que esteja acima do limite, porém a consulta continua a ser executada.

Tempo limite de recurso

Aumento ou diminuição

As consultas que já estão esperando na fila não são afetadas. As consultas novas usam a configuração nova.

Importância

Aumento ou diminuição

Só afeta a distribuição de CPU para as consultas no grupo de carga de trabalho.

Número máximo de solicitações

Aumento ou diminuição

  • Aumento. Não afeta as consultas existentes.

  • Diminuição. Não afeta as consultas existentes, porém as consultas novas aguardam e podem exceder o tempo limite.

Grau máximo de paralelismo

Aumento ou diminuição

Só afeta a compilação e a execução de consultas novas.

Pool de recursos especificado.

Alterar

As solicitações ativas continuam a usar o pool de recursos existente e as configurações. As solicitações novas usam o pool novo e as configurações.

Configurações do Administrador de Recursos

Além de alterar uma configuração ou o estado atual do Administrador de Recursos, é possível usar a instrução ALTER RESOURCE GOVERNOR RECONFIGURE para criar ou alterar a função de classificação.

Ao registrar uma função de classificação nova, é possível modificar as regras usadas para rotear as conexões novas para um grupo de carga de trabalho diferente. Essa alteração não afeta as consultas que já foram classificadas; só afeta as consultas novas.