Função de classificação do Administrador de Recursos

Aplica-se a: SQL Server Instância Gerenciada de SQL do Azure

O processo de classificação do Resource Governor do SQL Server atribui sessões de entrada a um grupo de carga de trabalho com base 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.

Classificação

O Administrador de Recursos oferece suporte à classificação de sessões de entrada. A classificação baseia-se em um conjunto de critérios gravados pelo usuário contido em uma função. Os resultados da lógica de função permitem que o Administrador de Recursos classifique as sessões em grupos de carga de trabalho existentes.

Observação

O grupo de carga de trabalho interno é populado com solicitações que são apenas para uso interno. Você não pode alterar os critérios usados para direcionar essas solicitações nem classificar as solicitações no grupo de carga de trabalho interno.

É possível gravar uma função escalar contendo a lógica que é usada para atribuir sessões de entrada a um grupo de carga de trabalho. Para que você possa usar essa função, é necessário concluir as seguintes ações:

  • Crie e registre a função usando a instrução ALTER RESOURCE GOVERNOR. Para obter mais informações, confira ALTER RESOURCE GOVERNOR (Transact-SQL).

  • Atualize a configuração do Administrador de Recursos usando a instrução ALTER RESOURCE GOVERNOR com o parâmetro RECONFIGURE.

Depois que você criar a função e aplicar as alterações de configuração, o classificador do Administrador de Recursos usará o nome do grupo de carga de trabalho retornado pela função para enviar uma nova solicitação ao grupo de carga de trabalho adequado.

Importante

A sessão do cliente pode expirar caso a função de classificação não seja concluída dentro do tempo limite especificado para o logon. O tempo limite de logon é uma propriedade do cliente, então o servidor não está ciente do tempo limite. A função de classificador de execução prolongada pode deixar o servidor com conexões órfãs por longos períodos. É importante que se criem funções de classificação que terminem de executar antes do tempo limite de conexão.

A função definida pelo usuário tem as seguintes características e comportamentos:

  • A função definida pelo usuário é avaliada para cada sessão nova, mesmo quando o pooling de conexões está habilitado.

  • A função definida pelo usuário fornece contexto de grupo de carga de trabalho para a sessão. Depois que a associação em grupo é determinada, a sessão é associada ao grupo de carga de trabalho durante o tempo de vida da sessão.

  • Se a função definida pelo usuário retornar NULL, padrão ou o nome de um grupo inexistente, o contexto de grupo de carga de trabalho padrão será dado à sessão. O contexto padrão também será dado à sessão caso a função falhe por qualquer motivo.

  • A função deve ser definida com escopo do servidor (banco de dados mestre).

  • A designação de função de classificação definida pelo usuário só entrará em vigor depois que ALTER RESOURCE GOVERNOR RECONFIGURE for executada.

  • Só uma função definida pelo usuário pode ser designada como classificação por vez.

  • A função de classificação definida pelo usuário não pode ser descartada ou alterada a menos que seu estado de classificação seja removido.

  • Na ausência de uma função de classificação definida pelo usuário, todas as sessões são classificadas no grupo padrão.

  • O grupo de carga de trabalho retornado pela função de classificação está fora do escopo da restrição de associação de esquema. Por exemplo, você não pode descartar uma tabela, mas pode descartar um grupo de cargas de trabalho.

Importante

É recomendável habilitar a conexão de administrador dedicada (DAC) no servidor. A DAC não está sujeita à classificação do Administrador de Recursos e pode ser usada para monitorar e solucionar problemas de uma função de classificação. Para obter mais informações, veja Conexão de diagnóstico para administradores de banco de dados. Se uma DAC não estiver disponível para a solução de problemas, a outra opção é reiniciar o sistema no modo de usuário único. Embora o modo de usuário único não esteja sujeito a classificação, ele não oferece a você a capacidade de diagnosticar a classificação do Administrador de Recursos enquanto está em execução.

Processo de classificação

No contexto do Administrador de Recursos, o processo de logon para uma sessão consiste nas seguintes etapas:

  1. Autenticação de logon

  2. Execução do gatilho LOGON (ocorrerá somente se houver gatilhos de logon na instância.)

  3. Classificação

Quando a classificação é iniciada, o Administrador de Recursos executa a função de classificação e usa o valor retornado pela função para enviar solicitações ao grupo de cargas de trabalho apropriado.

Observação

As informações sobre a execução da função de classificação e dos gatilhos LOGON são expostas em sys.dm_exec_sessions e sys.dm_exec_requests.

Tarefas da função de classificação

Descrição da tarefa Tópico
Descreve como criar e testar uma função de classificação definida pelo usuário. Criar e testar uma função de classificador definida pelo usuário

Confira também

Resource Governor
Habilitar o Resource Governor
Pool de recursos do Resource Governor
Grupos de carga de trabalho do Resource Governor
Configurar o Resource Governor usando um modelo
Exibir Propriedades do Administrador de Recursos