Resource Governor
Aplica-se a: SQL Server Instância Gerenciada de SQL do Azure
O Resource Governor do SQL Server é um recurso que você pode usar para gerenciar a carga de trabalho e o consumo de recursos do sistema do SQL Server. O Resource Governor permite que você especifique os limites na quantidade de CPU, E/S física e memória que solicitações recebidas de aplicativos podem usar.
Observação
Embora o Banco de Dados SQL do Azure utilize o Resource Governor (entre outras técnicas) para gerenciar recursos, não há suporte para a configuração do usuário de pools de recursos personalizados e grupos de carga de trabalho no Banco de Dados SQL do Azure. O Azure Synapse Analytics tem uma implementação diferente de comportamento semelhante à do Resource Governor por meio do recurso Classificação de Carga de Trabalho.
Benefícios do Administrador de Recursos
O Resource Governor permite que você gerencie cargas de trabalho e recursos do SQL Server especificando limites para o 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 reconfigurados 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/S física e memória.
Ao usar o Administrador de Recursos, você pode:
Fornecer isolamento de multilocatário e de recurso em instâncias únicas do SQL Server que atendem várias cargas de trabalho cliente. Ou seja, você pode dividir os recursos disponíveis em um servidor entre as cargas de trabalho e minimizar os problemas que podem ocorrer quando as cargas de trabalho disputam os recursos.
Forneça desempenho e SLAs de suporte previsíveis para locatários de cargas de trabalho em um ambiente de várias carga de trabalho e vários usuários.
Isole e limite as consultas sem controle ou limite os recursos de E/S para operações como DBCC CHECKDB que pode saturar o subsistema de E/S e afetar negativamente outras cargas de trabalho.
Adicione o controle refinado de recursos para estornos de uso de recurso e forneça a cobrança previsível para consumidores dos recursos do servidor.
Restrições do Administrador de Recursos
Essa versão do Administrador de Recursos possui as seguintes restrições:
O gerenciamento de recursos é limitado ao mecanismo de banco de dados do SQL Server. O Resource Governor não pode ser usado para Analysis Services, serviços de integração e Reporting Services.
Não há monitoramento ou gerenciamento de carga de trabalho entre instâncias do SQL Server.
O Administrador de Recursos pode gerenciar cargas de trabalho OLTP, mas esses tipos de consulta, normalmente de duração bastante 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 ao percentual de uso da CPU.
A capacidade de administrar E/S física aplica-se apenas a operações do usuário e não a tarefas do sistema. As tarefas do sistema incluem operações de gravação no log de transações e operações de E/S do Gravador Lento. O Resource Governor se aplica basicamente às operações de leitura do usuário, pois a maioria das operações de gravação normalmente é executada por tarefas do sistema.
Você não pode definir limites de E/S no pool de recursos interno.
Conceitos de recurso
Os três conceitos a seguir são fundamentais para compreensão e uso do Administrador de Recursos:
Pools de recursos. O pool de recursos representa os recursos físicos do servidor. Pense no pool como uma instância virtual do SQL Server dentro de uma instância do SQL Server. Dois pools de recursos (interno e padrão) são criados quando o SQL Server é instalado. O Administrador de Recursos também oferece suporte a pools de recursos definidos pelo usuário. Para obter mais informações, consulte Pool de recursos do Administrador de Recursos.
Grupos de carga de trabalho. Um grupo de carga de trabalho funciona como um contêiner para as solicitações de sessão que têm critérios de classificação similares. Uma carga de trabalho permite o monitoramento de agregação de sessões e define políticas para as sessões. Cada grupo de cargas de trabalho está em um pool de recursos. Dois grupos de carga de trabalho (interno e padrão) são criados e mapeados para os pools de recursos correspondentes quando o SQL Server é instalado. O Administrador de Recursos também oferece suporte a grupos de carga de trabalho definidos pelo usuário. Para obter mais informações, consulte Grupos de carga de trabalho do Administrador de Recursos.
Classificação. O processo de Classificação atribui sessões de entrada a um grupo de cargas de trabalho baseado nas características da sessão. Você pode personalizar a lógica de classificação gravando uma função definida pelo usuário, chamado de função de classificador. O Administrador de Recursos também oferece suporte à função de classificação definida pelo usuário para implementar as regras de classificação. Para obter mais informações, consulte Função de classificação do Administrador de Recursos.
Observação
O Administrador de Recursos não impõe nenhum controle em uma conexão de administrador dedicada (DAC). Não é necessário classificar as consultas de DAC que executam no grupo de carga de trabalho interno e no pool de recursos.
No contexto do Administrador de Recursos, é possível tratar os conceitos anteriores como componentes. A ilustração a seguir mostra esses componentes e suas relações conforme surgem no ambiente do mecanismo de banco de dados. Do ponto de vista do processamento, o fluxo simplificado é o seguinte:
Há uma conexão de entrada para uma sessão (Sessão 1 de n).
A sessão é classificada (Classificação).
A carga de trabalho de sessão é roteada para um grupo de carga de trabalho, por exemplo, Grupo 4.
O grupo de carga de trabalho usa o pool de recursos ao qual está associado, por exemplo, Pool 2.
O pool de recursos fornece e limita os recursos requeridos pelo aplicativo, por exemplo, Aplicativo 3.
Tarefas do Administrador de Recursos
Descrição da tarefa | Tópico |
---|---|
Descreve como habilitar o Administrador de Recursos. | Habilitar o Resource Governor |
Descreve como desabilitar o Administrador de Recursos. | Desabilitar o Resource Governor |
Descreve como criar, alterar e descartar um pool de recursos. | Pool de recursos do Resource Governor |
Descreve como criar, alterar, mover e descarregar um grupo de cargas de trabalho. | Grupos de carga de trabalho do Resource Governor |
Descreve como criar e testar uma função de classificação definida pelo usuário. | Função de classificação do Administrador de Recursos |
Descreve como configurar o Administrador de Recursos usando um modelo. | Configurar o Resource Governor usando um modelo |
Descreve como exibir as propriedades do Administrador de Recursos. | Exibir Propriedades do Administrador de Recursos |