Monitoramento e ajuste de desempenho no Banco de Dados SQL do Azure e da Instância Gerenciada de SQL do Azure

APLICA-SE A: Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure

Para monitorar o desempenho de um banco de dados no Banco de Dados SQL do Azure e da Instância Gerenciada de SQL do Azure, comece monitorando os recursos de CPU e E/S usados pela sua carga de trabalho em relação ao nível de desempenho do banco de dados escolhido na seleção de uma camada de serviço e nível de desempenho específicos. Para fazer isso, o Banco de Dados SQL do Azure e a Instância Gerenciada de SQL do Azure emitem métricas de recursos que podem ser exibidas no portal do Azure ou usando uma destas ferramentas de gerenciamento do SQL Server:

Solução de monitoramento Banco de Dados SQL Instância Gerenciada do SQL Requer um agente em uma VM de propriedade do cliente
Análise de Desempenho de Consultas Sim Não Não
Monitorar com o uso de DMVs Sim Sim Não
Monitorar o uso do repositório de consultas Sim Sim Não
Insights de SQL (versão prévia) no Azure Monitor Sim Sim Sim
Análise de SQL do Azure (versão prévia) usando os logs do Azure Monitor * Sim Sim Não

* Para soluções que exigem monitoramento de baixa latência, a Análise de SQL do Azure (versão prévia) não é recomendável.

Assistentes de banco de dados no portal do Azure

O Banco de Dados de SQL do Azure fornece vários consultores de banco de dados para fornecer recomendações de ajuste de desempenho inteligente e opções de ajuste automático para melhorar o desempenho.

Além disso, a página Análise de Desempenho de Consultas mostra detalhes sobre as consultas responsáveis pela maior parte do uso da CPU e de E/S para bancos de dados individuais e em pool.

  • A Análise de Desempenho de Consultas está disponível no portal do Azure no painel Visão geral do Banco de Dados SQL do Azure em "Desempenho Inteligente". Use as informações coletadas automaticamente para identificar consultas e começar a otimizar o desempenho da carga de trabalho.
  • Você também pode configurar o ajuste automático para implementar essas recomendações automaticamente, como forçar um plano de execução de consulta para evitar a regressão ou criar e remover índices não clusterizados com base em padrões de carga de trabalho. O ajuste automático também está disponível no portal do Azure no painel Visão geral do Banco de Dados SQL do Azure em "Desempenho Inteligente".

O Banco de Dados de SQL do Azure e a Instância Gerenciada de SQL do Azure fornecem recursos avançados de monitoramento e ajuste apoiados por inteligência artificial para ajudá-lo a solucionar problemas e maximizar o desempenho de seus bancos de dados e soluções. É possível configurar a exportação de streaming desses Intelligent Insights e outros logs e métricas de recursos de banco de dados para um dos vários destinos para consumo e análise.

Fora do portal do Azure, o mecanismo de banco de dados tem as próprias funcionalidades de monitoramento e diagnóstico que o Banco de Dados SQL do Azure e a Instância Gerenciada de SQL utilizam, como repositório de consultas e DMVs (exibições de gerenciamento dinâmico). Confira Monitoramento usando DMVs para obter scripts para monitorar uma variedade de problemas de desempenho no Banco de Dados SQL do Azure e na Instância Gerenciada de SQL do Azure.

Insights de SQL do Azure (versão prévia) e Análise de SQL do Azure (versão prévia)

As duas ofertas usam pipelines diferentes para apresentar dados a uma variedade de pontos de extremidade das métricas recebidas do Banco de Dados SQL do Azure.

  • Insights de SQL do Azure (versão prévia) é um projeto dentro do Azure Monitor que pode fornecer insights avançadas sobre a atividade do banco de dados SQL do Azure. Ele é implantado por meio de uma VM gerenciada pelo cliente usando o Telegraf como um agente de coleta que se conecta a fontes SQL, coleta dados e envia dados ao Log Analytics.

  • A Análise de SQL do Azure (versão prévia) também exige que o Log Analytics forneça insights avançados sobre a atividade do banco de dados SQL do Azure.

  • A telemetria de diagnóstico do Azure é uma fonte separada de dados de streaming do Banco de Dados SQL do Azure e da Instância Gerenciada de SQL do Azure. Para não ser confundido com o produto Insights de SQL do Azure (versão prévia), o SQLInsights é um log dentro do Intelligent Insights e é um dos vários pacotes de telemetria emitidos pelas configurações de diagnóstico do Azure. As configurações de diagnóstico são um recurso que contém categorias de Log de Recursos (antes conhecidas como Logs de Diagnóstico). Para saber mais, confira Telemetria de diagnóstico para exportação.

    • A Análise de SQL do Azure (versão prévia) consome os logs de recursos provenientes da telemetria de diagnóstico (configurável em Configurações de Diagnóstico no portal do Azure), enquanto os Insights de SQL do Azure (versão prévia) usam um pipeline diferente para coletar telemetria do SQL do Azure.

Telemetria de monitoramento e diagnóstico

O diagrama a seguir detalha todos os mecanismos de banco de dados, as métricas de plataforma, os logs de recursos e os logs de atividades do Azure gerados por produtos SQL do Azure, como eles são processados e como eles podem ser exibidos para análise.

Diagram showing complete logging and diagnostic information paths for Azure SQL products.

Monitorar e ajustar o SQL do Azure no portal do Azure

No portal do Azure, o Banco de Dados SQL do Azure e a Instância Gerenciada de SQL do Azure fornecem monitoramento de métricas de recursos. O Banco de Dados SQL do Azure fornece consultores de banco de dados e a Análise de Desempenho de Consultas fornece recomendações de ajuste de consulta e análise de desempenho de consulta. No portal do Azure, é possível habilitar o ajuste automático para servidores SQL lógicos e seus bancos de dados individuais e em pool.

Observação

Os bancos de dados com uso extremamente baixo podem ser mostrados no portal com uso menor que o real. Devido à maneira como a telemetria é emitida ao converter um valor duplo para o inteiro mais próximo, determinados valores de uso menores que 0,5 serão arredondados para 0, o que causa uma perda na granularidade da telemetria emitida. Para obter detalhes, consulte Baixo banco de dados e métricas de pool elástico arredondando para zero.

Monitoramento de recursos da Instância Gerenciada de SQL do Azure e do Banco de Dados SQL do Azure

É possível monitorar rapidamente uma variedade de métricas de recursos no portal do Azure na exibição de Métricas. Essas métricas permitem que você veja se um banco de dados está atingindo 100% de recursos de processador, memória ou E/S. Alta DTU ou porcentagem de processador, bem como alta porcentagem de E/S, indica que sua carga de trabalho pode precisar de mais recursos de CPU ou de E/S. Ele também pode indicar consultas que precisam ser otimizadas.

Resource metrics

Consultores de banco de dados no Banco de Dados SQL do Azure

O Banco de Dados SQL do Azure inclui consultores de banco de dados que fornecem recomendações de ajuste de desempenho para bancos de dados individuais e em pool. Essas recomendações estão disponíveis no portal do Azure, bem como usando o PowerShell. Você também pode habilitar o ajuste automático para que o Banco de Dados SQL do Azure possa implementar automaticamente essas recomendações de ajuste.

Análise de Desempenho de Consultas no Banco de Dados SQL do Azure

A Análise de Desempenho de Consultas mostra o desempenho no portal do Azure de consultas mais longas e de execução mais longa para bancos de dados individuais e em pool.

Métricas baixas do banco de dados e do pool elástico arredondando para zero

A partir de setembro de 2020, os bancos de dados com uso extremamente baixo podem ser mostrados no portal com uso menor que o real. Devido à maneira como a telemetria é emitida ao converter um valor duplo para o inteiro mais próximo, determinados valores de uso menores que 0,5 serão arredondados para 0, o que causará uma perda na granularidade da telemetria emitida.

Por exemplo: considere uma janela de 1 minuto com os quatro pontos de dados a seguir: 0,1, 0,1, 0,1, 0,1, esses valores baixos são arredondados para baixo para 0, 0, 0, 0 e apresentam uma média de 0. Se qualquer um dos pontos de dados for maior que 0,5, por exemplo: 0,1, 0,1, 0,9, 0,1, eles serão arredondados para 0, 0, 1, 0 e mostrar uma média de 0,25.

Métricas de banco de dados afetadas:

  • cpu_percent
  • log_write_percent
  • workers_percent
  • sessions_percent
  • physical_data_read_percent
  • dtu_consumption_percent2
  • xtp_storage_percent

Métricas do pool elástico afetado:

  • cpu_percent
  • physical_data_read_percent
  • log_write_percent
  • memory_usage_percent
  • data_storage_percent
  • peak_worker_percent
  • peak_session_percent
  • xtp_storage_percent
  • allocated_data_storage_percent

Gerar avaliações inteligentes de problemas de desempenho

OIntelligent Insights para Banco de Dados SQL do Azure de e Instância Gerenciada de SQL do Azure usa uma inteligência interna para monitorar continuamente o uso de banco de dados por meio de inteligência artificial e detecta os eventos de interrupção que causam baixo desempenho. O Intelligent Insights detecta automaticamente os problemas de desempenho com o banco de dados com base em tempos de espera de execução de consulta, erros ou tempos limite. Depois de detectada, uma análise detalhada é executada pelo Intelligent Insights que gera um log de recursos chamado SQLInsights [não relacionado aos Insights de SQL do Azure Monitor (versão prévia)]. O SQLInsights é uma avaliação inteligente dos problemas. Essa avaliação consiste em uma análise da causa raiz do problema de desempenho do banco de dados e possíveis recomendações para melhorias de desempenho.

O Intelligent Insights é uma capacidade exclusiva de inteligência interna do Azure e fornece o seguinte valor:

  • Monitoramento proativo
  • Insights de desempenho personalizado
  • Detecção prévia de degradação de desempenho do banco de dados
  • Análise da causa raiz dos problemas detectados
  • 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

Habilitar a exportação de streaming de métricas e logs de recursos

É possível habilitar e configurar a exportação de streaming da telemetria de diagnóstico para um dos vários destinos, incluindo o log de recursos Intelligent Insights.

Você define as configurações de diagnóstico para as categorias de fluxo de métricas e logs de recursos para bancos de dados individuais, bancos de dados em pool, pools elásticos, instância gerenciadas e banco de dados de instância para um dos seguintes recursos do Azure.

Espaço de trabalho do Log Analytics no Azure Monitor

É possível transmitir métricas e logs de recursos para um Espaço de trabalho log Analytics no Azure Monitor. Os dados transmitidos aqui podem ser consumidos pela Análise de SQL (versão prévia), que é uma solução de monitoramento somente na nuvem que fornece monitoramento inteligente dos bancos de dados, incluindo relatórios de desempenho, alertas e recomendações de mitigação. Os dados transmitidos para um espaço de trabalho do Log Analytics podem ser analisados com outros dados de monitoramento coletados e também permitem que você aproveite outros recursos do Azure Monitor, como alertas e visualizações.

Observação

A Análise de SQL do Azure (versão prévia) é uma integração com o Azure Monitor, em que muitas soluções de monitoramento não estão mais em desenvolvimento ativo. Monitorar as implantações do SQL com os Insights de SQL (versão prévia).

Hubs de Eventos do Azure

É possível transmitir métricas e logs de recursos para os Hubs de Eventos do Azure. Streaming de telemetria de diagnóstico para hubs de eventos para fornecer a seguinte funcionalidade:

  • Transmitir logs para registros de terceiros e sistemas de telemetria

    Transmita todas as suas métricas e logs de recursos para um único hub de eventos para canalizar dados de registro para um SIEM de terceiros ou ferramenta de análise de registro.

  • Criar uma plataforma de registro em log e telemetria personalizada

    A natureza de publicação-assinatura altamente escalonável dos hubs de eventos permite que você administre de forma flexível as métricas e os logs de recursos em uma plataforma de telemetria personalizada. Consulte Projetando e dimensionando uma plataforma de telemetria de escala global nos Hubs de Eventos do Azure para obter detalhes.

  • Exibir a integridade do serviço transmitindo dados para o Power BI

    Utilize os Hubs de Eventos, o Stream Analytics e o Power BI, para transformar seus dados de diagnóstico em informações quase em tempo real nos serviços do Azure. Consulte Stream Analytics e Power BI: um painel de análise em tempo real para dados de streamingpara obter detalhes sobre esta solução.

Armazenamento do Azure

Transmita métricas e logs de recursos para o Armazenamento do Azure. Use o Armazenamento do Azure para arquivar grandes quantidades de telemetria de diagnóstico por uma fração do custo das duas opções de streaming anteriores.

Usar os Eventos Estendidos

Além disso, você pode usar os Eventos Estendidos para monitoramento avançado e solução de problemas no SQL Server, no Banco de Dados SQL do Azure e na Instância Gerenciada de SQL do Azure. Eventos Estendidos é uma ferramenta de "rastreamento" e arquitetura de eventos, superior ao Rastreamento do SQL, que permite que os usuários coletem o máximo ou o mínimo de dados necessários para solucionar problemas ou identificar um problema de desempenho e ainda reduzirem o impacto no desempenho contínuo do aplicativo. Os Eventos Estendidos substituem os recursos preteridos Rastreamento de SQL e SQL Server Profiler. Para obter informações sobre como usar eventos estendidos no Banco de Dados SQL do Azure, veja Eventos estendidos no Banco de Dados SQL do Azure. No Banco de Dados SQL do Azure e na Instância Gerenciada de SQL, use um destino de arquivo de evento hospedado no Armazenamento de Blobs do Azure.

Próximas etapas