Partilhar via


Monitorar e ajustar o desempenho no Banco de Dados SQL do Azure e na Instância Gerenciada SQL do Azure

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

Para monitorizar o desempenho de uma base de dados na Base de Dados SQL do Azure e no Azure SQL Managed Instance, comece por monitorizar os recursos da CPU e de E/S utilizados pela carga de trabalho em relação ao nível de desempenho da base de dados que escolheu ao selecionar um escalão 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 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 monitorização Base de Dados SQL Instância Gerida do SQL Requer agente em uma VM de propriedade do cliente
Métricas e alertas Sim Sim No
Query Performance Insight Sim No Não
Monitorizar com DMV Sim Sim No
Monitorizar com o arquivo de consultas Sim Sim No
Informações do SQL (pré-visualização) no Azure Monitor Sim Sim Sim
Azure SQL Analytics (visualização) usando os Logs do Azure Monitor * Sim Sim No

* Para soluções que exigem monitoramento de baixa latência, o Azure SQL Analytics (visualização) não é recomendado.

Consultores de banco de dados no portal do Azure

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

Além disso, a página Query Performance Insight mostra detalhes sobre as consultas responsáveis pelo maior uso de CPU e E/S para bancos de dados únicos e em pool.

  • O Query Performance Insight está disponível no portal do Azure no painel Visão geral do seu 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 regressão ou criar e descartar í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 SQL do Azure e a Instância Gerenciada 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. Você pode optar por 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 seus próprios recursos de monitoramento e diagnóstico que o Banco de Dados SQL do Azure e a Instância Gerenciada SQL usam, como armazenamento de consultas e exibições de gerenciamento dinâmico (DMVs). Consulte Monitoramento usando DMVs para scripts para monitorar uma variedade de problemas de desempenho no Banco de Dados SQL do Azure e na Instância Gerenciada SQL do Azure.

Azure SQL Insights (visualização) e Azure SQL Analytics (visualização)

Ambas as ofertas usam pipelines diferentes para apresentar dados a uma variedade de pontos de extremidade para métricas futuras do Banco de Dados SQL do Azure.

  • O Azure SQL Insights (visualização) é um projeto dentro do Azure Monitor que pode fornecer informações 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 move dados para o Log Analytics.

  • O Azure SQL Analytics (visualização) também requer o Log Analytics para fornecer informações avançadas sobre a atividade do banco de dados SQL do Azure.

  • A telemetria de diagnóstico do Azure é uma fonte de dados de streaming separada para o Banco de Dados SQL do Azure e a Instância Gerenciada SQL do Azure. Não deve ser confundido com o produto Azure SQL Insights (visualização), 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 definições de diagnóstico são uma funcionalidade que contém categorias de Registo de Recursos (anteriormente conhecidas como Registos de Diagnósticos). Para obter mais informações, consulte Telemetria de diagnóstico para exportação.

    • O Azure SQL Analytics (visualização) consome os logs de recursos provenientes da telemetria de diagnóstico (configurável em Configurações de diagnóstico no portal do Azure), enquanto o Azure SQL Insights (visualização) usa um pipeline diferente para coletar a telemetria SQL do Azure.

Telemetria de monitorização e diagnóstico

O diagrama a seguir detalha todo o mecanismo de banco de dados, métricas de plataforma, logs de recursos e logs de atividade do Azure gerados pelos produtos SQL do Azure, como eles são processados e como podem ser apresentados 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 SQL do Azure fornecem monitoramento de métricas de recursos. O Banco de Dados SQL do Azure fornece consultores de banco de dados e o Query Performance Insight fornece recomendações de ajuste de consulta e análise de desempenho de consulta. No portal do Azure, você pode habilitar o ajuste automático para servidores SQL lógicos e seus bancos de dados únicos e em pool.

Nota

Bancos de dados com uso extremamente baixo podem aparecer no portal com menos do que o uso real. Devido à forma como a telemetria é emitida ao converter um valor duplo para o número inteiro mais próximo, certas quantidades de uso inferiores a 0,5 serão arredondadas para 0, o que causa uma perda na granularidade da telemetria emitida. Para obter detalhes, consulte Métricas de banco de dados e pool elástico baixas arredondando para zero.

Monitorização de recursos da Base de Dados SQL do Azure e da Instância Gerida SQL do Azure

Pode monitorizar rapidamente uma variedade de métricas de recursos no portal do Azure na vista Métricas. Estas métricas permitem-lhe ver se uma base de dados está a aproximar-se dos limites de CPU, memória, E/S ou recursos de armazenamento. A alta utilização de DTU, CPU ou E/S pode indicar que sua carga de trabalho precisa de mais recursos. Também pode indicar que as consultas têm de ser otimizadas. Consulte Microsoft.Sql/servers/databases, Microsoft.Sql/servers/elasticPools e Microsoft.Sql/managedInstances para obter métricas com suporte no Banco de Dados SQL do Azure e na Instância Gerenciada SQL do Azure.

A screenshot from the Azure portal of resource metrics for a SQL database.

Para obter um conjunto de regras de alerta recomendadas no Banco de Dados SQL do Azure, consulte Monitorar o Banco de Dados SQL do Azure com métricas e alertas do Azure Monitor.

Nota

As métricas relacionadas ao armazenamento no portal do Azure, como o espaço de dados usado, são relatadas em valores de potência de dois, mas usando potência de dez unidades. Por exemplo, 1 MB de espaço de armazenamento refere-se a 1.048.576 bytes, não a 1.000.000 bytes. As unidades mais recentes usadas para potência de dois valores são KiB, MiB, GiB, etc. Para compatibilidade e consistência com o uso historicamente estabelecido no mecanismo de banco de dados, as métricas de armazenamento SQL do Azure usam as unidades mais antigas, como KB, MB, GB, etc.

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 únicos 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.

Insight de Desempenho de Consulta no Banco de Dados SQL do Azure

O Query Performance Insight mostra o desempenho no portal do Azure das consultas de maior consumo e de execução mais longa para bancos de dados únicos e em pool.

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

A partir de setembro de 2020, bancos de dados com uso extremamente baixo podem aparecer no portal com menos do que o uso real. Devido à forma como a telemetria é emitida ao converter um valor duplo para o número inteiro mais próximo, determinadas quantidades de utilização inferiores a 0,5 serão arredondadas para 0, o que provoca uma perda na granularidade da telemetria emitida.

Por exemplo: Considere uma janela de 1 minuto com os seguintes quatro pontos de dados: 0,1, 0,1, 0,1, 0,1, esses valores baixos são arredondados 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 são arredondados para 0, 0, 1, 0 e mostram uma média de 0,25.

Gerar avaliações inteligentes de problemas de desempenho

O Intelligent Insights for Azure SQL Database e Azure SQL Managed Instance usa inteligência interna para monitorar continuamente o uso do banco de dados por meio de inteligência artificial e detetar eventos disruptivos que causam baixo desempenho. O Intelligent Insights deteta automaticamente problemas de desempenho com bancos de dados com base em tempos de espera de execução de consultas, erros ou tempos limites. Uma vez detetado, uma análise detalhada é executada pelo Intelligent Insights que gera um log de recursos chamado SQLInsights (não relacionado ao Azure Monitor SQL Insights (visualização)). SQLInsights é 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 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

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

Você pode habilitar e configurar a exportação de streaming de telemetria de diagnóstico para um dos vários destinos, incluindo o log de recursos do Intelligent Insights.

Você define as configurações de diagnóstico para transmitir categorias de métricas e logs de recursos para bancos de dados únicos, bancos de dados agrupados, pools elásticos, instâncias gerenciadas e bancos de dados de instância para um dos seguintes recursos do Azure.

Espaço de trabalho do Log Analytics no Azure Monitor

Você pode transmitir métricas e logs de recursos para um espaço de trabalho do Log Analytics no Azure Monitor. Os dados transmitidos aqui podem ser consumidos pelo SQL Analytics (visualização), que é uma solução de monitoramento somente na nuvem que fornece monitoramento inteligente de seus bancos de dados que inclui 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ê use outros recursos do Azure Monitor, como alertas e visualizações.

Nota

O Azure SQL Analytics (visualização) é uma integração com o Azure Monitor, onde muitas soluções de monitoramento não estão mais em desenvolvimento ativo. Monitore suas implantações SQL com o SQL Insights (visualização).

Hubs de Eventos do Azure

Você pode transmitir métricas e logs de recursos para os Hubs de Eventos do Azure. Telemetria de diagnóstico de streaming para hubs de eventos para fornecer a seguinte funcionalidade:

  • Transmitir logs para sistemas de telemetria e registro de terceiros

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

  • Crie uma plataforma personalizada de telemetria e registro em log

    A natureza altamente escalável de publicação-assinatura dos hubs de eventos permite que você ingira métricas e logs de recursos de forma flexível em uma plataforma de telemetria personalizada. Para obter mais informações, consulte Hubs de Eventos do Azure.

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

    Use Hubs de Eventos, Stream Analytics e Power BI para transformar seus dados de diagnóstico em informações quase em tempo real sobre seus serviços do Azure. Consulte Stream Analytics e Power BI: um painel de análise em tempo real para streaming de dados para 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 eventos estendidos

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