O ajuste automático do Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure
Aplica-se a: Banco de dados SQL do Azure Instância Gerenciada de SQL do Azure Banco de Dados SQL no Microsoft Fabric
O ajuste automático do Banco de Dados SQL do Azure e da Instância Gerenciada de SQL do Azure oferece o desempenho ideal e cargas de trabalho estáveis por meio do ajuste contínuo do desempenho baseado em inteligência artificial e aprendizado de máquina.
O ajuste automático é um serviço de desempenho inteligente totalmente gerenciado que usa a inteligência interna para monitorar continuamente as consultas executadas em um banco de dados, aprimorando automaticamente o desempenho delas. Isso é feito por meio da adaptação dinâmica de um banco de dados às cargas de trabalho de alteração 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. Quanto mais tempo um banco de dados for executado com o ajuste automático, melhor será o desempenho.
O ajuste automático do Banco de Dados SQL do Azure e da Instância Gerenciada de SQL do Azure pode ser um dos recursos mais impactantes que você pode habilitar para fornecer cargas de trabalho de banco de dados com desempenho estável e de pico.
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ê
- Ajuste de desempenho automatizado de bancos de dados
- Verificação automatizada de ganhos de desempenho
- Autocorreção e reversão automática
- Histórico de ajuste
- Ajuste dos scripts do T-SQL (Transact-SQL) de ação 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
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. As recomendações de ajuste automatizado são aplicadas somente nos horários de pouca utilização da CPU, da E/S de Dados e da 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á mostrada no portal do Azure e na DMV 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 automatizado aplicadas são verificadas automaticamente para garantir que haja um aprimoramento considerável no desempenho da carga de trabalho. Se não houver nenhum aprimoramento ou, no caso improvável de o desempenho regredir, as alterações feitas pelo ajuste automático serão prontamente revertidas. Por meio do histórico de ajuste registrado, há um rastreamento claro dos aprimoramentos de ajuste feitos em cada banco de dados do Banco de Dados SQL do Azure.
Habilitar o ajuste automático
- Banco de Dados SQL do Azure: habilite o ajuste automático no portal do Azure ou use a instrução T-SQL ALTER DATABASE.
- Instância Gerenciada de SQL do Azure: habilite o ajuste automático usando a instrução T-SQL ALTER DATABASE.
- Banco de dados SQL no Microsoft Fabric: habilitado por padrão. Para obter mais informações, consulte Painel de Desempenho do Banco de Dados SQL no Microsoft Fabric.
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 os índices que podem aprimorar o desempenho da carga de trabalho, cria índices e verifica automaticamente se houve um aprimoramento no desempenho das consultas. 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 | Remoções não utilizadas (nos últimos 90 dias) e índices duplicados. Os índices exclusivos, incluindo os índices com suporte a restrições PRIMARY KEY e Unique, nunca são eliminados. Essa opção pode ser desabilitada automaticamente quando as consultas com dicas de índice estiverem presentes na carga de trabalho ou quando a carga de trabalho executar a alternância 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, confira Recomendações do Database Advisor no portal do Azure, no PowerShell e na 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 as recomendações de ajuste de maneira autônoma é que ele valida automaticamente a existência de um ganho positivo no desempenho da carga de trabalho e, se não houver nenhum aprimoramento de desempenho significativo detectado ou se o desempenho regredir, o sistema reverterá automaticamente as alterações 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 de modo que permanecerão ativas e mostradas na lista de recomendações de ajuste por 24–48 horas antes que o sistema as retenha 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
O ajuste automático para a Instância Gerenciada do SQL 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 o 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 para "Herdar de: padrões do 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óstico AutomaticTuning.
Conteúdo relacionado
- Leia a postagem do blog Músicas de Inteligência Artificial Banco de Dados SQL do Azure.
- Saiba como o ajuste automático funciona nos bastidores, emIndexação automática de milhões de bancos de dados em Banco de Dados SQL do Microsoft Azure.
- Saiba como o ajuste automático pode ajudá-lo a diagnosticar e solucionar problemas de alta CPU no Banco de Dados SQL do Azure