Monitore consultas e melhore o desempenho da carga de trabalho com ajuste automático no portal do Azure

Aplica-se a:Banco de Dados SQL do AzureInstância Gerenciada SQL do Azure

O Banco de Dados SQL do Azure gerencia automaticamente serviços de dados que monitoram constantemente suas consultas e identificam a ação que você pode executar para melhorar o desempenho de sua carga de trabalho. Você pode revisar recomendações e aplicá-las manualmente ou permitir que o Banco de Dados SQL do Azure aplique automaticamente ações corretivas. Isso é conhecido como modo de ajuste automático.

O ajuste automático pode ser ativado no nível do servidor ou do banco de dados através de:

Observação

Para a Instância Gerenciada SQL do Azure, a opção com suporte FORCE_LAST_GOOD_PLAN só pode ser configurada por meio T-SQL. A configuração baseada no portal do Azure e as opções de ajuste automático de índice descritas neste artigo não se aplicam à Instância Gerenciada SQL do Azure.

No momento, não há suporte para a configuração de opções de ajuste automático por meio do modelo Azure Resource Manager (ARM).

Ativar ajuste automático no servidor

No nível do servidor, pode-se optar por herdar a configuração de ajuste automático dos "Padrões do Azure" ou não herdar essa configuração. Os padrões do Azure são FORCE_LAST_GOOD_PLAN ativados, CREATE_INDEX desativados e DROP_INDEX desativados.

Portal do Azure

Para habilitar o ajuste automático em um de servidor no Banco de Dados SQL do Azure, navegue até o servidor no portal do Azure e selecione de ajuste automático no menu.

Captura de tela mostra o ajuste automático no portal do Azure, onde você pode aplicar opções para um servidor.

Selecione as opções de ajuste automático que deseja habilitar e selecione Aplicar.

As opções de ajuste automático em um servidor são aplicadas a todos os bancos de dados nesse servidor. Por padrão, todos os bancos de dados herdam a configuração de seu servidor pai, mas isso pode ser substituído e especificado para cada banco de dados individualmente.

REST API

Para saber mais sobre como usar uma API REST para habilitar o ajuste automático num servidor , consulte os métodos HTTP UPDATE e GET para ajuste automático do servidor .

No momento, não há suporte para a configuração de opções de ajuste automático por meio do modelo Azure Resource Manager (ARM).

Habilitar o ajuste automático em um banco de dados individual

O Banco de Dados SQL do Azure permite especificar individualmente a configuração de ajuste automático para cada banco de dados. No nível do banco de dados, você pode optar por herdar a configuração de ajuste automático do servidor pai, "Padrões do Azure", ou não herdar a configuração. Esses padrões são os seguintes:

  • FORCE_LAST_GOOD_PLAN está ativado
  • CREATE_INDEX está desativado
  • DROP_INDEX está desativado

Dica

A recomendação geral é gerenciar a configuração de ajuste automático em nível de servidor para que as mesmas definições de configuração possam ser aplicadas em cada banco de dados automaticamente. Configure o ajuste automático em um banco de dados individual somente se você precisar que esse banco de dados tenha configurações diferentes de outros herdando configurações do mesmo servidor.

Portal do Azure

Para habilitar o ajuste automático numa única base de dados, navegue até à base de dados no Azure Portal e selecione Ajuste automático.

As configurações individuais de ajuste automático podem ser configuradas separadamente para cada banco de dados. Você pode configurar manualmente uma opção de ajuste automático individual ou especificar que uma opção herda suas configurações do servidor.

Captura de tela mostra o ajuste automático no portal do Azure, onde você pode aplicar opções para um único banco de dados.

Depois de selecionar a configuração desejada, selecione Aplicar.

REST API

Para saber mais sobre como usar uma API REST para habilitar o ajuste automático em um único banco de dados, consulte os métodos HTTP UPDATE e GET para ajuste automático no Banco de Dados SQL do Azure.

No momento, não há suporte para a configuração de opções de ajuste automático por meio do modelo Azure Resource Manager (ARM).

T-SQL

Para habilitar o ajuste automático em um único banco de dados via T-SQL, conecte-se ao banco de dados e execute a seguinte consulta:

ALTER DATABASE current SET AUTOMATIC_TUNING = AUTO | INHERIT | CUSTOM

Ao definir o ajuste automático para AUTO, são aplicados os valores padrão do Azure. Definindo-o como INHERIT, a configuração de ajuste automático é herdada do servidor pai. Se você escolher CUSTOM, deverá configurar manualmente o ajuste automático.

Para configurar opções individuais de ajuste automático via T-SQL, conecte-se ao banco de dados e execute a seguinte consulta:

ALTER DATABASE CURRENT SET AUTOMATIC_TUNING (
    FORCE_LAST_GOOD_PLAN = ON,
    CREATE_INDEX = ON,
    DROP_INDEX = OFF
);

Definir a opção de ajuste individual como ATIVADO substitui qualquer configuração herdada pelo banco de dados e habilita a opção de ajuste. Defini-lo como OFF também substitui qualquer configuração que o banco de dados herdou e desabilita a opção de ajuste. As opções de ajuste automático para as quais DEFAULT é especificado herdam a configuração de ajuste automático das configurações definidas a nível de servidor.

Importante

Para de replicação geográfica ativa, o ajuste automático deve ser configurado apenas no banco de dados primário. As ações de ajuste aplicadas automaticamente, como criar ou eliminar um índice, são replicadas automaticamente para secundários geográficos. A tentativa de ativar a otimização automática via T-SQL no secundário em modo só de leitura resulta em falha, pois não é suportada uma configuração de otimização diferente no secundário em modo só de leitura.

Para saber mais sobre as opções do T-SQL para configurar o ajuste automático, consulte ALTER DATABASE SET Options.

Solução de problemas

O gerenciamento automatizado de recomendações está desativado

Se você vir mensagens de erro informando que o gerenciamento automatizado de recomendações foi desabilitado ou desabilitado pelo sistema, as causas mais comuns são:

  • O Repositório de Consultas não está ativado ou
  • O Repositório de Consultas está no modo somente leitura para um banco de dados especificado ou
  • O Repositório de Consultas parou de ser executado porque ficou sem espaço de armazenamento alocado.

As seguintes etapas podem ser consideradas para corrigir esse problema:

  • Limpe o Repositório de Consultas ou modifique o período de retenção de dados para "automático" usando T-SQL ou aumente o tamanho máximo do Repositório de Consultas. Veja como configurar a política de retenção e captura recomendada para o Query Store.

  • Use o SQL Server Management Studio (SSMS) e siga estas etapas:

    1. Conecte-se ao banco de dados SQL do Azure.
    2. Clique com o botão direito do rato na base de dados.
    3. Vá para Propriedades e selecione Repositório de Consultas.
    4. Altere o Modo de Operação para de leitura-gravação.
    5. Altere o Modo de Captura da Store para Automático.
    6. Altere o modo de limpeza baseado no tamanho do para automático.

Permissões

Para o Banco de Dados SQL do Azure, gerenciar o ajuste automático no portal do Azure ou usar a API PowerShell ou REST requer associação a funções RBAC (controle de acesso baseado em função) internas do Azure.

Para gerir o ajuste automático, a permissão mínima necessária que deve ser concedida ao utilizador é a associação à função de colaborador do Banco de Dados SQL . Você também pode considerar usar funções de maior privilégio, tais como Colaborador do SQL Server, Colaborador e Proprietário.

Para obter as permissões necessárias para gerir a afinação automática usando T-SQL, consulte Permissions for ALTER DATABASE.

Configurar o ajuste automático de notificações por e-mail

Para receber notificações automáticas por e-mail sobre recomendações feitas pelo ajuste automático, consulte o guia de de ajuste automático de notificações por e-mail.