Usar o log de diagnóstico de desempenho do Intelligent Insights do Banco de Dados SQL do Azure e problemas de desempenho da Instância Gerenciada SQL do Azure

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

Esta página fornece informações sobre como usar o log de diagnóstico de desempenho gerado pelo Intelligent Insights do Banco de Dados SQL do Azure e problemas de desempenho da Instância Gerenciada SQL do Azure, seu formato e os dados que ele contém para suas necessidades de desenvolvimento personalizado. Você pode enviar esse log de diagnóstico para logs do Azure Monitor, Hubs de Eventos do Azure, Armazenamento do Azure ou uma solução de terceiros para recursos personalizados de alertas e relatórios de DevOps.

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.

Cabeçalho de log

O log de diagnóstico usa o formato padrão JSON para produzir descobertas do Intelligent Insights. A propriedade de categoria exata para acessar um log do Intelligent Insights é o valor fixo "SQLInsights", não relacionado ao Monitoramento do Banco de Dados SQL do Azure com o Azure Monitor SQL Insights (visualização).

O cabeçalho do log é comum e consiste no carimbo de data/hora (TimeGenerated) que mostra quando uma entrada foi criada. Ele também inclui uma ID de recurso (ResourceId) que se refere ao banco de dados específico ao qual a entrada se relaciona. A categoria (Category), level (Level) e o nome da operação (OperationName) são propriedades fixas cujos valores não são alterados. Eles indicam que a entrada de log é informativa e que vem do Intelligent Insights (SQLInsights).

"TimeGenerated" : "2017-9-25 11:00:00", // time stamp of the log entry
"ResourceId" : "database identifier", // value points to a database resource
"Category": "SQLInsights", // fixed property
"Level" : "Informational", // fixed property
"OperationName" : "Insight", // fixed property

ID do problema e banco de dados afetados

A propriedade de identificação de problemas (issueId_d) fornece uma maneira de rastrear exclusivamente os problemas de desempenho até serem resolvidos. Vários registros de eventos no status de relatório de log do mesmo problema compartilharão a mesma ID de problema.

Junto com a ID do problema, o log de diagnóstico relata os carimbos de data/hora de início (intervalStartTime_t) e fim (intervalEndTme_t) do evento específico relacionado a um problema relatado no log de diagnóstico.

A propriedade pool elástico (elasticPoolName_s) indica a qual pool elástico o banco de dados com um problema pertence. Se o banco de dados não fizer parte de um pool elástico, essa propriedade não terá valor. O banco de dados no qual um problema foi detetado é divulgado na propriedade nome do banco de dados (databaseName_s).

"intervalStartTime_t": "2017-9-25 11:00", // start of the issue reported time stamp
"intervalEndTme_t":"2017-9-25 12:00", // end of the issue reported time stamp
"elasticPoolName_s" : "", // resource elastic pool (if applicable)
"databaseName_s" : "db_name", // database name
"issueId_d" : 1525, // unique ID of the issue detected
"status_s" : "Active" // status of the issue – possible values: "Active", "Verifying", and "Complete"

Problemas detetados

A próxima seção do log de desempenho do Intelligent Insights contém problemas de desempenho que foram detetados por meio de inteligência artificial integrada. As deteções são divulgadas em propriedades dentro do log de diagnóstico JSON. Essas deteções consistem na categoria de um problema, no impacto do problema, nas consultas afetadas e nas métricas. As propriedades de deteções podem conter vários problemas de desempenho que foram detetados.

Os problemas de desempenho detetados são relatados com a seguinte estrutura de propriedade de deteções:

"detections_s" : [{
"impact" : 1 to 3, // impact of the issue detected, possible values 1-3 (1 low, 2 moderate, 3 high impact)
"category" : "Detectable performance pattern", // performance issue detected, see the table
"details": <Details outputted> // details of an issue (see the table)
}]

Os padrões de desempenho detetáveis e os detalhes enviados para o log de diagnóstico são fornecidos na tabela a seguir.

Categoria de deteção

A propriedade category (category) descreve a categoria de padrões de desempenho detetáveis. Consulte a tabela a seguir para todas as categorias possíveis de padrões de desempenho detetáveis. Para obter mais informações, consulte Solucionar problemas de desempenho do banco de dados com o Intelligent Insights.

Dependendo do problema de desempenho detetado, os detalhes gerados no arquivo de log de diagnóstico diferem de acordo.

Padrões de desempenho detetáveis Detalhes produzidos
Atingir os limites de recursos
  • Recursos afetados
  • Hashes de consulta
  • Percentagem de consumo de recursos
  • Aumento da carga de trabalho
  • Número de consultas cuja execução aumentou
  • Hashes das consultas com a maior contribuição para o aumento da carga de trabalho
  • Pressão da Memória
  • Funcionário de memória
  • Bloqueio
  • Hashes de consulta afetados
  • Hashes de consulta de bloqueio
  • Aumento do MAXDOP
  • Hashes de consulta
  • Tempos de espera CXP
  • Tempos de espera
  • Contenção Pagelatch
  • Hashes das consultas que causam disputas
  • Índice em falta
  • Hashes de consulta
  • Nova Consulta
  • Hash de novas consultas
  • Estatística de espera incomum
  • Tipos de espera incomuns
  • Hashes de consulta
  • Tempos de espera de consulta
  • tempdb Contenção
  • Hashes das consultas que causam disputas
  • Atribuição de consulta ao tempo de espera geral da contenção de pagelatch do banco de dados [%]
  • Escassez de DTU de piscina elástica
  • Conjunto elástico
  • Principal banco de dados que consome DTU
  • Porcentagem de DTU de pool usada pelo principal consumidor
  • Regressão do plano
  • Hashes de consulta
  • Bons IDs de plano
  • IDs de planos incorretos
  • Alteração do valor da configuração do escopo do banco de dados
  • Alterações de configuração no escopo do banco de dados em comparação com os valores padrão
  • Cliente Lento
  • Hashes de consulta
  • Tempos de espera
  • Downgrade do nível de preços
  • Notificação de texto
  • Impacto

    A propriedade impact (impact) descreve o quanto um comportamento detetado contribuiu para o problema que um banco de dados está tendo. Os impactos variam de 1 a 3, sendo 3 a contribuição mais elevada, 2 a moderada e 1 a contribuição mais baixa. O valor de impacto pode ser usado como uma entrada para automação de alertas personalizada, dependendo de suas necessidades específicas. As consultas das propriedade afetadas (QueryHashes) proporcionam uma lista dos hashes de consulta que foram afetados por uma deteção particular.

    Consultas afetadas

    A próxima seção do log do Intelligent Insights fornece informações sobre consultas específicas que foram afetadas pelos problemas de desempenho detetados. Essas informações são divulgadas como uma matriz de objetos incorporados na propriedade impact_s. A propriedade impact consiste em entidades e métricas. As entidades referem-se a uma consulta específica (Tipo: Consulta). O hash de consulta exclusivo é divulgado sob a propriedade de valor (Value). Além disso, cada uma das consultas divulgadas é seguida por uma métrica e um valor, que indicam um problema de desempenho detetado.

    No seguinte registo de exemplo, a consulta com o hash 0x9102EXZ4 foi detetada para ter uma maior duração da execução (Métrica: DurationIncreaseSeconds). O valor de 110 segundos indica que essa consulta específica levou 110 segundos a mais para ser executada. Como várias consultas podem ser detetadas, essa seção de log específica pode incluir várias entradas de consulta.

    "impact" : [{
    "entity" : {
    "Type" : "Query", // type of entity - query
    "Value" : "query hash value", // for example "0x9102EXZ4" query hash value },
    "Metric" : "DurationIncreaseSeconds", // measured metric and the measurement unit (in this case seconds)
    "Value" : 110 // value of the measured metric (in this case seconds)
    }]
    

    Métricas

    A unidade de medida para cada métrica relatada é fornecida sob a propriedade métrica (métrica) com os valores possíveis de segundos, número e porcentagem. O valor de uma métrica medida é relatado na propriedade value (value).

    A propriedade DurationIncreaseSeconds fornece a unidade de medida em segundos. A unidade de medida CriticalErrorCount é um número que representa uma contagem de erros.

    "metric" : "DurationIncreaseSeconds", // issue metric type – possible values: DurationIncreaseSeconds, CriticalErrorCount, WaitingSeconds
    "value" : 102 // value of the measured metric (in this case seconds)
    

    Análise de causa raiz e recomendações de melhoria

    A última parte do log de desempenho do Intelligent Insights diz respeito à análise automatizada da causa raiz do problema de degradação de desempenho identificado. As informações aparecem em verborragia amigável ao ser humano na propriedade de análise de causa raiz (rootCauseAnalysis_s). Sempre que possível, são incluídas recomendações de melhoria no registo.

    // example of reported root cause analysis of the detected performance issue, in a human-readable format
    
    "rootCauseAnalysis_s" : "High data IO caused performance to degrade. It seems that this database is missing some indexes that could help."
    

    Você pode usar o log de desempenho do Intelligent Insights com logs do Azure Monitor ou uma solução de terceiros para recursos personalizados de alertas e relatórios de DevOps.

    Próximos passos