Apresentando o Administrador de Recursos
O Administrador de Recursos é uma nova tecnologia no SQL Server 2008 que permite gerenciar a carga de trabalho e os recursos do SQL Server especificando limites de consumo de recursos por solicitações de entrada. No contexto do Administrador de Recursos, carga de trabalho é um conjunto de consultas ou solicitações de tamanho similar que podem e devem, ser tratadas como uma única entidade. Não se trata de um requisito, mas quanto mais uniforme for o padrão de uso dos recursos de uma carga de trabalho, maior a probabilidade de obter benefícios derivados do Administrador de Recursos. Limites de recurso podem ser re-configurados em tempo real, com impacto mínimo sobre as cargas de trabalho que se encontram em execução.
Em um ambiente com várias cargas de trabalho distintas presentes no mesmo servidor, o Administrador de Recursos permite diferenciá-las e alocar recursos compartilhados conforme forem solicitados, segundo os limites especificados. Esses recursos são CPU e memória.
O Administrador de Recursos está disponível apenas nas edições Enterprise, Developer e Evaluation do SQL Server.
Tipos de problemas de recursos
O Administrador de Recursos foi projetado para cuidar dos seguintes tipos de problemas de recursos, muito comuns em um ambiente de banco de dados:
Consultas de fuga no servidor. Nesse cenário, uma consulta com uso intensivo de recursos pode ocupar a maior parte ou a totalidade dos recursos do servidor.
Execução de carga de trabalho imprevisível. Nesse cenário, aplicativos simultâneos no mesmo servidor têm cargas de trabalho de tamanho e tipo diferentes. Por exemplo, dois aplicativos de data warehouse ou uma combinação de aplicativos OLTP e data warehouse. Esses aplicativos não estão isolados uns dos outros e a contenção de recursos resultante causa execução de carga de trabalho imprevisível.
Configuração de prioridade de carga de trabalho. Nesse cenário, uma carga de trabalho recebe a permissão de prosseguir mais rápido do que outra ou tem a garantia de ser concluída, caso haja contenção de recursos. O Administrador de Recursos permite atribuir uma importância relativa às cargas de trabalho.
Todos os cenários precedentes exigem a capacidade de diferenciar, de alguma forma, as cargas de trabalho. O Administrador de Recursos fornece:
A capacidade de classificar conexões de entrada e rotear suas cargas de trabalho para um grupo específico.
A capacidade de monitorar o uso de recursos para cada carga de trabalho em um grupo.
A capacidade colocar recursos em pool e definir limites específicos ao pool quanto a uso de CPU e alocação de memória. Isso impede ou minimiza a probabilidade de consultas de fuga.
A capacidade de associar cargas de trabalho agrupadas a um pool de recursos específico.
A capacidade de identificar e definir prioridades para cargas de trabalho.
Restrições do Administrador de Recursos
Essa versão do Administrador de Recursos possui as seguintes restrições:
O gerenciamento de recursos se limita ao Mecanismo de Banco de Dados do SQL Server. O Administrador de Recursos não pode ser usado para o Analysis Services, o Integration Services e o Reporting Services.
Não há monitoramento ou gerenciamento de carga de trabalho entre instâncias do SQL Server.
A especificação de limites se aplica à largura de banda da CPU e à memória gerenciadas pelo SQL Server.
Cargas de trabalho OLTP. O Administrador de Recursos pode gerenciar cargas de trabalho OLTP, mas esses tipos de consulta, normalmente de duração muito curta, nem sempre ficam na CPU o suficiente para a aplicação de controles de largura de banda. Isso pode distorcer as estatísticas retornadas quanto à porcentagem de uso da CPU.