Compartilhar via


Ajuste automático do banco de dados

Aplica-se a:Banco de dados SQL do AzureInstância Gerenciada de SQL do AzureBanco de Dados SQL no Microsoft Fabric

O ajuste automático fornece pico de desempenho e cargas de trabalho estáveis por meio de ajuste contínuo de desempenho com base em IA e machine learning.

O ajuste automático é um serviço de desempenho totalmente gerenciado e inteligente que monitora continuamente as consultas executadas em um banco de dados e melhora automaticamente o desempenho. Isso é feito por meio da adaptação dinâmica de um banco de dados às cargas de trabalho variáveis e da aplicação de recomendações de ajuste.

O ajuste automático aprende horizontalmente com todos os bancos de dados do Azure por meio da IA e aprimora de modo dinâmico as ações de ajustes.

Seguro, confiável e comprovado

As operações de ajuste aplicadas aos bancos de dados são totalmente seguras para o desempenho das cargas de trabalho mais intensas. O sistema foi desenvolvido com cuidado para não interferir nas cargas de trabalho do usuário.

Diagrama mostrando como o ajuste automático funciona.

As recomendações de ajuste automático são aplicadas apenas em horários de baixa utilização de CPU, E/S de Dados e E/S de Log. O sistema também pode desabilitar temporariamente as operações de ajuste automático para proteger o desempenho da carga de trabalho. Nesse caso, a mensagem "Desabilitado pelo sistema" será exibida no portal do Azure e na exibição de gerenciamento dinâmico sys.database_automatic_tuning_options. O ajuste automático foi desenvolvido para dar às cargas de trabalho do usuário a maior prioridade de recursos.

Mecanismos de ajuste automático são desenvolvidos e foram aperfeiçoados em milhões de bancos de dados em execução no Azure. As operações de ajuste automatizadas aplicadas são verificadas automaticamente para garantir que haja uma melhoria positiva notável no desempenho da carga de trabalho. Se não houver nenhuma melhoria ou no improvável caso de que o desempenho retroceda, as alterações feitas pelo ajuste automático são prontamente revertidas. Por meio do histórico de ajustes registrado, há um rastreamento claro das melhorias de ajuste feitas em cada banco de dados no Banco de Dados SQL do Azure. Quanto mais tempo um banco de dados for executado com o ajuste automático habilitado, mais ele poderá se beneficiar.

O ajuste automático do SQL do Azure compartilha a lógica principal com o recurso de ajuste automático do SQL Server no mecanismo de banco de dados. Para obter informações técnicas adicionais sobre o mecanismo interno de inteligência, consulte Ajuste automático do SQL Server.

O que o ajuste automático pode fazer por você

O ajuste de desempenho automatizado de bancos de dados inclui:

  • Verificação automatizada de ganhos de desempenho
  • Autocorreção e reversão automática
  • Histórico de ajustes
  • Ação de ajuste de scripts Transact-SQL (T-SQL) para implantações manuais
  • Capacidade de expansão em centenas de milhares de bancos de dados
  • Impacto positivo nos recursos de DevOps e no custo total de propriedade

Habilitar o ajuste automático

Opções de ajuste automático

As opções de ajuste automático disponíveis no Banco de Dados SQL do Azure e na Instância Gerenciada de SQL do Azure são:

Opções de ajuste automático Descrição Suporte a banco de dados individual e banco de dados em pool Suporte a banco de dados de instância
CREATE INDEX Identifica índices que podem melhorar o desempenho da carga de trabalho, cria índices e verifica automaticamente se o desempenho das consultas melhorou. Ao recomendar um novo índice, o sistema considera o espaço disponível no banco de dados. Se a adição de índice for estimada para aumentar a utilização de espaço em mais de 90% do tamanho máximo dos dados, a recomendação de índice não será gerada. Depois que o sistema identificar um período de baixa utilização e começar a criar um índice, ele não pausará nem cancelará essa operação, mesmo que a utilização de recursos aumente inesperadamente. Se a criação do índice falhar, ela será repetida durante um período futuro de baixa utilização. As recomendações de índice não são fornecidas para tabelas em que o índice clusterizado ou heap é maior que 10 GB. Sim Não
DROP INDEX Remove índices não utilizados (nos últimos 90 dias) e índices duplicados. Os índices únicos, incluindo os índices com suporte a restrições de chave primária e única, nunca são eliminados. Essa opção pode ser desabilitada automaticamente quando consultas com pistas de índice estiverem presentes no workload ou quando o workload realiza alteração de partição. Nas camadas de serviço Premium e Comercialmente Crítico, essa opção nunca removerá índices não utilizados, mas removerá índices duplicados, se houver. Sim Não
FORCE LAST GOOD PLAN (correção automática do plano) Identifica as consultas SQL do Azure que usam um plano de execução mais lento do que o plano válido anterior e força as consultas a usarem o último plano válido conhecido, em vez do plano regredido. Sim Sim

Ajuste automático para o Banco de Dados SQL do Azure

O ajuste automático do Banco de Dados SQL do Azure usa as recomendações CREATE INDEX, DROP INDEX e FORCE_LAST_GOOD_PLAN do assistente de banco de dados para otimizar o desempenho do banco de dados. Para obter mais informações, consulte Localizar e aplicar recomendações de desempenho no portal do Azure, no do PowerShell e no da API REST.

Você pode aplicar manualmente as recomendações de ajuste usando o portal do Azure ou permitir que o ajuste automático aplique as recomendações de ajuste de maneira autônoma para você. Os benefícios de permitir que o sistema aplique recomendações de ajuste de forma autônoma para você é que ele valida automaticamente que existe um ganho positivo no desempenho da carga de trabalho e, se não houver nenhuma melhoria significativa no desempenho detectada ou se o desempenho regredir, o sistema reverterá automaticamente as alterações que foram feitas. Dependendo da frequência de execução da consulta, o processo de validação pode levar de 30 minutos a 72 horas, levando mais tempo para executar consultas com menos frequência. Se, em algum momento durante a validação, uma regressão for detectada, as alterações serão revertidas imediatamente.

Importante

Caso você esteja aplicando as recomendações de ajuste por meio do T-SQL, os mecanismos de validação de desempenho e reversão automáticos não estão disponíveis. Recomendações aplicadas desta forma permanecerão ativas e mostradas na lista de recomendações de ajuste por 24-48 horas antes que o sistema as remova automaticamente. Se você quiser remover uma recomendação mais cedo, poderá descartá-la do portal do Azure.

As opções de ajuste automático podem ser habilitadas ou desabilitadas de maneira independente por banco de dados ou podem ser configuradas no servidor e aplicadas em todos os bancos de dados que herdam as configurações do servidor. Por padrão, os novos servidores herdam os padrões do Azure das configurações de ajuste automático. Os padrões do Azure estão definidos como FORCE_LAST_GOOD_PLAN habilitado, CREATE_INDEX desabilitado e DROP_INDEX desabilitado.

A configuração das opções de ajuste automático em um servidor e a herança das configurações dos bancos de dados pertencentes ao servidor pai é o método recomendado para configurar o ajuste automático. Ela simplifica o gerenciamento das opções de ajuste automático para um grande número de bancos de dados.

Para saber mais sobre a criação de notificações por email para as recomendações de ajuste automático, confira Notificações por email para ajuste automático.

Ajuste automático para a Instância Gerenciada de SQL do Azure

A otimização automática para SQL Managed Instance dá suporte apenas a FORCE LAST GOOD PLAN. Para saber mais sobre como configurar opções de ajuste automático por meio do T-SQL, confira O ajuste automático introduz a correção automática do plano e Correção automática do plano.

Ajuste automático para banco de dados SQL no Microsoft Fabric

A opção de ajuste automático para CREATE INDEX é habilitada automaticamente no Banco de dados SQL no Microsoft Fabric.

Exemplos para habilitar

Para obter mais informações, consulte Opções ALTER DATABASE SET.

Para herdar a configuração padrão do servidor lógico pai, use o T-SQL a seguir. No portal do Azure, isso reflete a opção de "Herdar de: Server".

ALTER DATABASE CURRENT 
SET AUTOMATIC_TUNING = INHERIT;

Para habilitar as opções de ajuste automático CREATE INDEX e DROP INDEX, use o T-SQL a seguir.

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

Histórico de ajuste automático

Para o Banco de Dados SQL do Azure, o histórico de alterações feitas pelo ajuste automático é mantido por 21 dias. Ele pode ser visto no portal do Azure na página Recomendações de desempenho de um banco de dados ou usando o PowerShell com o cmdlet Get-AzSqlDatabaseRecommendedAction. Para uma retenção mais longa, os dados de histórico também podem ser transmitidos para vários tipos de destinos com a habilitação da configuração de diagnósticoAutomaticTuning.