DDL do administrador de recursos e exibições do sistema

É possível usar os comandos Administrador de recursos DDL, exibições do catálogo e exibições de gerenciamento dinâmico para todos os aspectos do Administrador de Recursos. Além das novas exibições que são específicas do Administrador de Recursos, as exibições de sistema existentes foram modificadas para incluir informações sobre o Administrador de Recursos. Este tópico resume as seguintes instruções e exibições:

  • Comandos DDL, inclusive comandos para grupos de carga de trabalho, pools de recurso e Administrador de Recursos.

  • Exibições de sistema do Administrador de Recursos, incluindo exibições do catálogo e de gerenciamento dinâmico.

  • Exibições de sistema do SQL Server atualizadas para dar suporte ao Administrador de Recursos.

  • Atualizações da classe de evento do SQL Server e novas classes de evento para oferecer suporte ao Administrador de Recursos.

Instruções DDL

O Administrador de Recursos oferece sete comandos DDL que podem ser usados para configurar todos os aspectos de uma sessão de Administrador de Recursos. Há comandos CREATE, ALTER e DROP para grupos de cargas de trabalho e pools de recursos. Também há uma instrução ALTER RESOURCE GOVERNOR RECONFIGURE que aplica as alterações de configuração.

O fundamental para ser observado sobre os comandos DDL do Administrador de Recursos é o descrito abaixo:

  • As instruções CREATE, ALTER e DROP trabalham em metadados armazenados e são transacionais. No entanto, completar essas instruções não garante que as alterações sejam efetivas, é necessário executar a instrução ALTER RESOURCE GOVERNOR RECONFIGURE para aplicar as alterações.

  • As instruções anteriores podem ser parte de uma transação para evitar modificações simultâneas na mesma configuração por vários usuários. Isso é feito usando-se BEGIN TRANSACTION e COMMIT TRANSACTION com as instruções. Todos os bloqueios mantidos em uma transação ficam visíveis em sys.dm_tran_locks e a transação pode ser interrompida se necessário.

    ObservaçãoObservação

    Embora não seja exigido, é altamente recomendável usar a sintaxe transacional ao usar as instruções DDL de Administração de Recursos. Todavia, ALTER RESOURCE GOVERNOR DISABLE, ALTER RESOURCE GOVERNOR RECONFIGURE e ALTER RESOURCE GOVERNOR RESET STATISTICS não podem fazer parte de uma transação de usuário.

  • A instrução ALTER.... RECONFIGURE carrega os metadados na memória e pode falhar. Não é possível reverter a instrução. Se a instrução falhar, as alterações no metadados não serão copiadas para a memória. Se a instrução tiver sucesso, as alterações serão efetivas. ALTER…RECONFIGURE não é transacional, e as alterações não podem ser revertidas.

Comandos de pool de recursos

Use os comandos descritos na tabela a seguir para configurar os pools de recursos.

Instrução DDL

Descrição

CRIAR POOL DE RECURSOS

Cria um pool de recursos.

ALTERAR POOL DE RECURSOS

Altera a configuração de um pool de recursos. Essa instrução grava as alterações nos metadados de configuração armazenados. Depois de realizar essa instrução, é necessário executar a instrução ALTER RESOURCE GOVERNOR para gravar as informações dos metadados na configuração da memória.

DESCARTAR POOL DE RECURSOS

Descartar pool de recursos.

O Administrador de Recursos fornece quatro parâmetros para configurar um pool de recursos. São eles:

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

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

Dependendo da mudança efetuada na configuração de um pool de recursos, pode haver um período de transição e comportamentos conhecidos para tratar as solicitações ativas ou em espera durante a transação. Para obter mais informações, consulte Estados do Administrador de Recursos.

Comandos do grupo de cargas de trabalho

Use os comandos descritos na tabela a seguir para configurar os grupos de cargas de trabalho.

Comando DDL

Descrição

CRIAR GRUPO DE CARGAS DE TRABALHO

Cria um grupo de cargas de trabalho e associa com um pool de recursos.

ALTERAR GRUPO DE CARGAS DE TRABALHO

Altera a configuração de um grupo de cargas de trabalho. Essa instrução grava as alterações nos metadados de configuração armazenados. Depois de realizar essa instrução, é necessário executar a instrução ALTER RESOURCE GOVERNOR para gravar as informações dos metadados na configuração da memória.

DESCARTAR GRUPO DE CARGAS DE TRABALHO

Descarta um grupo de cargas de trabalho.

O Administrador de Recursos fornece os seis parâmetros seguintes para configurar um grupo de cargas de trabalho:

  • O número máximo de memória para uma solicitação.

  • A porcentagem máxima de CPU para usar para uma solicitação.

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

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

  • O número máximo de solicitações para um grupo de cargas de trabalho.

  • O pool de recursos em que o grupo de cargas de trabalho estará.

Dependendo da mudança feita na configuração de um grupo de cargas de trabalho, há comportamentos conhecidos para lidar com as solicitações ativas e em espera quando as alterações são aplicadas. Para obter mais informações, consulte Estados do Administrador de Recursos.

Comando Administrador de Recursos

Use os comandos descritos na tabela seguinte para configurar o Administrador de Recursos.

Comando DDL

Descrição

ALTERAR ADMINISTRAÇÃO DE RECURSOS

Aplica alterações de configuração especificadas com um comando ALTER, habilita ou desabilita RESOURCE GOVERNOR, registra uma função de classificação ou zera estatísticas.

A instrução ALTER RESOURCE GOVERNOR é usada para executar as seguintes ações:

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

  • Habilitar ou desabilitar o Administrador de Recursos. Esse procedimento também é usado para aplicar alterações de configuração.

  • Registrar uma função para classificação de solicitação.

  • Zerar estatísticas sobre todos os grupos de cargas de trabalho e pools de recursos.

Dependendo da alteração feita em uma configuração do Administrador de Recursos, há comportamentos conhecidos para lidar com as solicitações ativas e em espera quando as alterações são aplicadas. Para obter mais informações, consulte Estados do Administrador de Recursos.

Exibições do Administrador de Recursos

As exibições do catálogo a seguir e exibições de gerenciamento dinâmicos são específicas do Administrador de Recursos.

As exibições do catálogo do Administrador de Recursos está descrita na tabela a seguir.

Nome

Descrição

sys.resource_governor_configuration

Retorna o estado armazenado do Administrador de Recursos.

sys.resource_governor_resource_pools

Retorna a configuração armazenada do pool de recursos. Cada linha da exibição determina a configuração de um pool.

sys.resource_governor_workload_groups

Retorna a configuração armazenada do grupo de cargas de trabalho.

Exibições de gerenciamento dinâmico

As exibições de gerenciamento dinâmico do Administrador de Recursos estão descritas na tabela a seguir.

Nome

Descrição

sys.dm_resource_governor_workload_groups

Retorna as estatísticas de grupo de cargas de trabalho e a configuração da memória atual do grupo de cargas de trabalho.

sys.dm_resource_governor_resource_pools

Retorna informações sobre o estado, a configuração atual e as estatísticas do pool de recursos.

sys.dm_resource_governor_configuration

Retorna uma linha que contém o estado de configuração contido na memória para o Administrador de Recursos.

Exibições SQL Server

Várias exibições de sistema do SQL Server foram atualizadas e fornecem informações sobre o Administrador de Recursos.

Exibições de gerenciamento dinâmico

Exibições de gerenciamento dinâmico do SQL Server estão descritos na tabela a seguir.

Nome

Descrição

sys.dm_exec_query_memory_grants

Retorna a informação sobre as consultas que tiveram uma concessão de memória ou que ainda precisam da concessão para ser executada. As consultas que não requerem uma concessão de memória não aparecerão nessa exibição. As colunas a seguir são adicionadas ao Administrador de Recursos:

  • group_id

  • pool_id

  • is_small

  • ideal_memory_kb

sys.dm_exec_query_resource_semaphores

Retorna as informações sobre o status de semáforo de recurso de consulta atual. O sys.dm_exec_query_resource_semaphores fornece o status de memória geral de execução de consulta e permite determinar se o sistema pode acessar memória suficiente.

A coluna a seguir é adicionada ao Administrador de Recursos:

  • pool_id

sys.dm_exec_sessions

Retorna uma linha por sessão autenticada no SQL Server.

A coluna a seguir é adicionada para o Administrador de Recursos:

  • group_id

sys.dm_exec_requests

Retorna informações sobre cada solicitação que está executando no SQL Server.

A coluna a seguir é adicionada ao Administrador de Recursos:

  • group_id

sys.dm_exec_cached_plans

Retorna uma linha para cada plano de consulta que é armazenada pelo SQL Server para execução de consulta mais rápida.

A coluna a seguir é adicionada ao Administrador de Recursos:

  • pool_id

sys.dm_os_memory_brokers

Alocações que são internas para SQL Server usam o gerenciador de memória do SQL Server.

As colunas a seguir são adicionadas ao Administrador de Recursos:

  • pool_id

  • allocations_kb_per_sec

  • predicated_allocations_kb

  • overall_limit_kb

sys.dm_os_wait_stats

Retorna informações sobre as esperas encontradas por segmentos em execução. É possível usar essa exibição para diagnosticar problemas de desempenho com SQL Server e com consultas específicas e lotes.

Referência de classe de evento do SQL Server

Várias classes de evento do SQL Server foram atualizadas e novas classes de evento foram adicionadas para oferecer suporte ao Administrador de Recursos.

Nome

Descrição

Classe de evento CPU Threshold Exceeded

Essa classe de evento indica que o Administrador de Recursos detecta uma consulta que excede o limite da CPU especificada para REQUEST_MAX_CPU_TIME_SEC.

Classe de evento PreConnect:Starting

Essa classe de evento indica quando um gatilho LOGON ou a função de classificação do Administrador de Recursos inicia a execução.

Classe de evento PreConnect:Completed

Essa classe de evento indica quando um gatilho LOGON ou a função de classificação do Administrador de Recursos finaliza a execução.