Intelligent Insights com IA para monitorizar e resolver problemas de desempenho da base de dados (pré-visualização)
Aplica-se a:Banco de Dados SQL do Azure Instância Gerenciada SQLdo Azure
O Intelligent Insights no Banco de Dados SQL do Azure e na Instância Gerenciada SQL do Azure permite que você saiba o que está acontecendo com o desempenho do seu banco de dados.
O Intelligent Insights utiliza a inteligência incorporada para monitorizar continuamente a utilização da base de dados através de inteligência artificial e detetar eventos disruptivos que provocam um mau desempenho. Uma vez detetado, é realizada uma análise detalhada que gera um log de recursos do Intelligent Insights chamado SQLInsights (não relacionado ao Azure Monitor SQL Insights (visualização)) com uma avaliação inteligente dos problemas. Essa avaliação consiste em uma análise de causa raiz do problema de desempenho do banco de dados e, sempre que possível, recomendações para melhorias de desempenho.
O que o Intelligent Insights pode fazer por você?
O Intelligent Insights é um recurso exclusivo da inteligência interna do Azure que fornece o seguinte valor:
- Monitorização proativa
- Insights de desempenho personalizados
- Deteção precoce da degradação do desempenho do banco de dados
- Análise de causa raiz de problemas detetados
- Recomendações de melhoria de desempenho
- Capacidade de expansão em centenas de milhares de bancos de dados
- Impacto positivo nos recursos de DevOps e no custo total de propriedade
Como funciona o Intelligent Insights
O Intelligent Insights analisa o desempenho do banco de dados comparando a carga de trabalho do banco de dados da última hora com a carga de trabalho de linha de base dos últimos sete dias. A carga de trabalho do banco de dados é composta por consultas determinadas como as mais significativas para o desempenho do banco de dados, como as consultas mais repetidas e maiores. Como cada banco de dados é exclusivo com base em sua estrutura, dados, uso e aplicativo, cada linha de base de carga de trabalho gerada é específica e exclusiva para essa carga de trabalho. O Intelligent Insights, independente da linha de base da carga de trabalho, também monitora limites operacionais absolutos e deteta problemas com tempos de espera excessivos, exceções críticas e problemas com parametrizações de consulta que podem afetar o desempenho.
Depois que um problema de degradação de desempenho é detetado a partir de várias métricas observadas usando inteligência artificial, a análise é realizada. Um log de diagnóstico é gerado com uma visão inteligente do que está acontecendo com seu banco de dados. O Intelligent Insights facilita o acompanhamento do problema de desempenho do banco de dados desde sua primeira aparição até a resolução. Cada problema detetado é rastreado ao longo de seu ciclo de vida, desde a deteção inicial do problema e verificação da melhoria de desempenho até sua conclusão.
As métricas usadas para medir e detetar problemas de desempenho do banco de dados são baseadas na duração da consulta, solicitações de tempo limite, tempos de espera excessivos e solicitações com erro. Para obter mais informações sobre métricas, consulte Métricas de deteção.
As degradações de desempenho do banco de dados identificadas são registradas no log SQLInsights do Intelligent Insights com entradas inteligentes que consistem nas seguintes propriedades:
Property | Detalhes |
---|---|
Informações da base de dados | Metadados sobre um banco de dados no qual uma perceção foi detetada, como um URI de recurso. |
Intervalo de tempo observado | Hora de início e término para o período do insight detetado. |
Métricas impactadas | Métricas que fizeram com que um insight fosse gerado:
|
Valor de impacto | Valor de uma métrica medida. |
Consultas e códigos de erro afetados | Hash de consulta ou código de erro. Eles podem ser usados para correlacionar facilmente as consultas afetadas. São fornecidas métricas que consistem em aumento da duração da consulta, tempo de espera, contagem de tempo limite ou códigos de erro. |
Deteções | Deteção identificada no banco de dados durante o tempo de um evento. Existem 15 padrões de deteção. Para obter mais informações, consulte Solucionar problemas de desempenho do banco de dados com o Intelligent Insights. |
Análise de causa raiz | Análise da causa raiz do problema identificado em um formato legível por humanos. Alguns insights podem conter uma recomendação de melhoria de desempenho sempre que possível. |
O Intelligent Insights brilha ao descobrir e solucionar problemas de desempenho do banco de dados. Para usar o Intelligent Insights para solucionar problemas de desempenho do banco de dados, consulte Solucionar problemas de desempenho com o Intelligent Insights.
Opções do Intelligent Insights
As opções do Intelligent Insights disponíveis são:
Opção Insights Inteligentes | Suporte ao Banco de Dados SQL do Azure | Suporte à Instância Gerenciada SQL do Azure |
---|---|---|
Configure o Intelligent Insights - Configure a análise do Intelligent Insights para seus bancos de dados. | Sim | Sim |
Transmitir insights para o Azure SQL Analytics -- Transmitir insights para o Azure SQL Analytics. | Sim | Sim |
Transmitir informações para Hubs de Eventos do Azure - Transmitir informações para Hubs de Eventos para integrações personalizadas adicionais. | Sim | Sim |
Transmitir informações para o Armazenamento do Azure - Transmitir informações para o Armazenamento do Azure para análise adicional e arquivamento a longo prazo. | Sim | Sim |
Nota
O Intelligent Insights é um recurso de visualização, não disponível nas seguintes regiões: Europa Ocidental, Europa do Norte, Oeste dos EUA 1 e Leste dos EUA 1.
Configurar a exportação do log do Intelligent Insights
Os resultados do Intelligent Insights podem ser transmitidos para um dos vários destinos para análise:
- A saída transmitida para um espaço de trabalho do Log Analytics pode ser usada com o Azure SQL Analytics para exibir informações por meio da interface do usuário do portal do Azure. Esta é a solução integrada do Azure e a forma mais típica de ver informações.
- A saída transmitida para os Hubs de Eventos do Azure pode ser usada para o desenvolvimento de cenários personalizados de monitoramento e alerta
- A saída transmitida para o Armazenamento do Azure pode ser usada para desenvolvimento de aplicativos personalizados para relatórios personalizados, arquivamento de dados de longo prazo e assim por diante.
A integração do Azure SQL Analytics, dos Hubs de Eventos do Azure, do Armazenamento do Azure ou de produtos de terceiros para consumo é realizada ativando primeiro o log do Intelligent Insights (o log "SQLInsights") na página Configurações de diagnóstico de um banco de dados e, em seguida, configurando os dados de log do Intelligent Insights para serem transmitidos para um desses destinos.
Para obter mais informações sobre como habilitar o log do Intelligent Insights e configurar dados de log de métricas e recursos a serem transmitidos para um produto consumidor, consulte Registro de métricas e diagnósticos.
Configurar com o Azure SQL Analytics
A solução do Azure SQL Analytics fornece interface gráfica do usuário, relatórios e recursos de alerta sobre o desempenho do banco de dados, usando os dados de log de recursos do Intelligent Insights.
Adicione o Azure SQL Analytics ao painel do portal do Azure a partir do mercado e, para criar um espaço de trabalho, consulte Configurar o Azure SQL Analytics
Para usar o Intelligent Insights com o Azure SQL Analytics, configure os dados de log do Intelligent Insights para serem transmitidos para o espaço de trabalho do Azure SQL Analytics que você criou na etapa anterior, consulte Registro de métricas e diagnósticos.
O exemplo a seguir mostra um Intelligent Insights exibido por meio do Azure SQL Analytics:
Configurar com Hubs de Eventos
Para usar o Intelligent Insights com Hubs de Eventos, configure os dados de log do Intelligent Insights para serem transmitidos para Hubs de Eventos, consulte Métricas e log de diagnóstico e Transmitir logs de diagnóstico do Azure para Hubs de Eventos.
Para usar Hubs de Eventos para configurar monitoramento e alertas personalizados, consulte O que fazer com métricas e logs de diagnóstico em Hubs de Eventos.
Configurar com o Armazenamento do Azure
Para usar o Intelligent Insights com Armazenamento, configure os dados de log do Intelligent Insights para serem transmitidos para o Armazenamento, consulte Métricas e log de diagnóstico e Transmitir para o Armazenamento do Azure.
Integrações personalizadas do log do Intelligent Insights
Para usar o Intelligent Insights com ferramentas de terceiros ou para alertas personalizados e monitoramento de desenvolvimento, consulte Usar o log de diagnóstico de desempenho do banco de dados do Intelligent Insights.
Métricas de deteção
As métricas usadas para modelos de deteção que geram Insights Inteligentes são baseadas no monitoramento:
- Duração da consulta
- Solicitações de tempo limite
- Tempo de espera excessivo
- Solicitações com erro
As solicitações de duração e tempo limite da consulta são usadas como modelos principais na deteção de problemas com o desempenho da carga de trabalho do banco de dados. Eles são usados porque medem diretamente o que está acontecendo com a carga de trabalho. Para detetar todos os possíveis casos de degradação do desempenho da carga de trabalho, o tempo de espera excessivo e as solicitações com erros são usados como modelos adicionais para indicar problemas que afetam o desempenho da carga de trabalho.
O sistema considera automaticamente as alterações na carga de trabalho e as alterações no número de solicitações de consulta feitas ao banco de dados para determinar dinamicamente os limites de desempenho normais e fora do comum do banco de dados.
Todas as métricas são consideradas juntas em vários relacionamentos por meio de um modelo de dados derivado cientificamente que categoriza cada problema de desempenho detetado. As informações fornecidas através de uma visão inteligente incluem:
- Detalhes do problema de desempenho detetado.
- Uma análise de causa raiz do problema detetado.
- Recomendações sobre como melhorar o desempenho da base de dados monitorizada, sempre que possível.
Duração da consulta
O modelo de degradação da duração da consulta analisa consultas individuais e deteta o aumento no tempo necessário para compilar e executar uma consulta em comparação com a linha de base de desempenho.
Se a inteligência interna detetar um aumento significativo na compilação da consulta ou no tempo de execução da consulta que afete o desempenho da carga de trabalho, essas consultas serão sinalizadas como problemas de degradação do desempenho da duração da consulta.
O registo de diagnóstico do Intelligent Insights apresenta a saída do hash da consulta com desempenho degradado. O hash de consulta indica se a degradação do desempenho estava relacionada com a compilação da consulta ou o aumento do tempo de execução, o que aumentou o tempo de duração da consulta.
Solicitações de tempo limite
O modelo de degradação de solicitações de tempo limite analisa consultas individuais e deteta qualquer aumento nos tempos limite no nível de execução da consulta e nos tempos limite gerais da solicitação no nível do banco de dados em comparação com o período da linha de base de desempenho.
Algumas das consultas podem atingir o tempo limite antes mesmo de chegarem ao estágio de execução. Através dos meios de trabalhadores abortados vs. pedidos feitos, built-in inteligência mede e analisa todas as consultas que chegaram ao banco de dados se chegaram à fase de execução ou não.
Depois que o número de tempos limite para consultas executadas ou o número de trabalhadores de solicitação abortados ultrapassa o limite gerenciado pelo sistema, um log de diagnóstico é preenchido com insights inteligentes.
Os insights gerados contêm o número de solicitações com tempo limite e o número de consultas com tempo limite. A indicação da degradação do desempenho está relacionada ao aumento do tempo limite no estágio de execução ou ao nível geral do banco de dados. Quando o aumento nos tempos limite é considerado significativo para o desempenho do banco de dados, essas consultas são sinalizadas como problemas de degradação do desempenho do tempo limite.
Tempos de espera excessivos
O modelo de tempo de espera excessivo monitora consultas de banco de dados individuais. Ele deteta estatísticas de espera de consulta excepcionalmente altas que ultrapassaram os limites absolutos gerenciados pelo sistema. As seguintes métricas de tempo de espera excessivo de consulta são observadas usando Estatísticas de Espera do Repositório de Consultas (sys.query_store_wait_stats):
- Atingir os limites de recursos
- Alcançando os limites de recursos do pool elástico
- Número excessivo de threads de trabalho ou sessão
- Bloqueio excessivo do banco de dados
- Pressão da memória
- Outras estatísticas de espera
Atingir limites de recursos ou limites de recursos do pool elástico denota que o consumo de recursos disponíveis em uma assinatura ou no pool elástico ultrapassou os limites absolutos. Essas estatísticas indicam degradação do desempenho da carga de trabalho. Um número excessivo de threads de trabalho ou sessão denota uma condição na qual o número de threads de trabalho ou sessões iniciadas ultrapassou os limites absolutos. Essas estatísticas indicam degradação do desempenho da carga de trabalho.
O bloqueio excessivo do banco de dados indica uma condição na qual a contagem de bloqueios em um banco de dados ultrapassou os limites absolutos. Essa estatística indica uma degradação do desempenho da carga de trabalho. A pressão de memória é uma condição na qual o número de threads que solicitam concessões de memória ultrapassou um limite absoluto. Essa estatística indica uma degradação do desempenho da carga de trabalho.
A deteção de outras estatísticas de espera indica uma condição na qual métricas diversas medidas por meio das Estatísticas de Espera do Repositório de Consultas ultrapassaram um limite absoluto. Essas estatísticas indicam degradação do desempenho da carga de trabalho.
Após serem detetados tempos de espera excessivos, dependendo dos dados disponíveis, o registo de diagnóstico do Intelligent Insights apresenta a saída dos hashes das consultas que estão a afetar e foram afetadas com desempenho degradado, os detalhes das métricas que fazem com que as consultas aguardem a execução e mediu o tempo de espera.
Solicitações com erro
O modelo de degradação de solicitações com erro monitora consultas individuais e deteta um aumento no número de consultas que erraram em comparação com o período de linha de base. Esse modelo também monitora exceções críticas que ultrapassaram limites absolutos gerenciados por inteligência integrada. O sistema considera automaticamente o número de solicitações de consulta feitas ao banco de dados e contabiliza quaisquer alterações de carga de trabalho no período monitorado.
Quando o aumento medido em solicitações com erro em relação ao número total de solicitações feitas é considerado significativo para o desempenho da carga de trabalho, as consultas afetadas são sinalizadas como problemas de degradação de desempenho de solicitações com erro.
O log do Intelligent Insights gera a contagem de solicitações com erro. Ele indica se a degradação do desempenho estava relacionada a um aumento nas solicitações com erros ou ao cruzamento de um limite de exceção crítico monitorado e do tempo medido da degradação do desempenho.
Se alguma das exceções críticas monitoradas ultrapassar os limites absolutos gerenciados pelo sistema, uma visão inteligente será gerada com detalhes críticos de exceções.
Próximos passos
- Saiba como monitorar bancos de dados usando a Análise SQL.
- Saiba como solucionar problemas de desempenho com o Intelligent Insights.