Avaliação de práticas recomendadas do SQL para SQL Server em VMs do Azure

Aplica-se a:SQL Server na VM do Azure

O recurso de avaliação de práticas recomendadas do SQL do portal do Azure identifica possíveis problemas de desempenho e avalia se o SQL Server em Máquinas Virtuais (VMs) do Azure está configurado para seguir as práticas recomendadas usando o conjunto de regras avançado fornecido pela API de Avaliação do SQL.

Para saber mais, assista a este vídeo sobre avaliação de práticas recomendadas de SQL:

Descrição geral

Depois que o recurso de avaliação de práticas recomendadas do SQL estiver habilitado, sua instância e bancos de dados do SQL Server serão verificados para fornecer recomendações para coisas como índices, recursos preteridos, sinalizadores de rastreamento habilitados ou ausentes, estatísticas etc. As recomendações são exibidas na página de gerenciamento de VM SQL do portal do Azure.

Os resultados da avaliação são carregados no seu espaço de trabalho do Log Analytics usando o Azure Monitor Agent (AMA). A extensão AMA é instalada na VM do SQL Server, se ainda não estiver instalada, e os recursos do AMA, como DCE, DCR, são criados e conectados ao espaço de trabalho especificado do Log Analytics.

O tempo de execução da avaliação depende do seu ambiente (número de bancos de dados, objetos e assim por diante), com uma duração de alguns minutos, até uma hora. Da mesma forma, o tamanho do resultado da avaliação também depende do seu ambiente. A avaliação é executada em relação à sua instância e a todos os bancos de dados dessa instância. Em nossos testes, observamos que uma execução de avaliação pode ter até 5-10% de impacto da CPU na máquina. Nesses testes, a avaliação foi feita enquanto um aplicativo semelhante ao TPC-C estava sendo executado no SQL Server.

Pré-requisitos

Para usar o recurso de avaliação de práticas recomendadas do SQL, você deve ter os seguintes pré-requisitos:

  • Sua VM do SQL Server deve ser registrada com a extensão IaaS do SQL Server.
  • Um espaço de trabalho do Log Analytics na mesma assinatura que sua VM do SQL Server para carregar os resultados da avaliação.
  • O SQL Server precisa ser uma versão 2012 ou superior.

Enable

Você pode habilitar avaliações de práticas recomendadas do SQL usando o portal do Azure ou a CLI do Azure.

Para habilitar as avaliações de práticas recomendadas do SQL usando o portal do Azure, siga estas etapas:

  1. Entre no portal do Azure e vá para seu recurso de VM do SQL Server.
  2. Selecione Avaliações de práticas recomendadas do SQL em Configurações.
  3. Selecione Habilitar avaliações de práticas recomendadas do SQL ou Configuração para navegar até a página Configuração.
  4. Marque a caixa Habilitar avaliações de práticas recomendadas de SQL e forneça o seguinte:
    1. O espaço de trabalho do Log Analytics no qual as avaliações serão carregadas. Escolha um espaço de trabalho existente na assinatura na lista suspensa.
    2. Escolha um grupo de recursos onde os recursos DCE e DCR do Agente do Azure Monitor serão criados. Se você especificar o mesmo grupo de recursos em várias VMs do SQL Server, esses recursos serão reutilizados.
    3. A agenda Executar. Você pode optar por executar avaliações sob demanda ou automaticamente em um cronograma. Se você escolher um cronograma, forneça a frequência (semanal ou mensal), o dia da semana, a recorrência (a cada 1-6 semanas) e a hora do dia em que suas avaliações devem começar (local para o horário da VM).
  5. Selecione Aplicar para salvar suas alterações e implantar o Azure Monitor Agent em sua VM do SQL Server, se ela ainda não tiver sido implantada. Uma notificação do portal do Azure informará quando o recurso de avaliação de práticas recomendadas do SQL estiver pronto para sua VM do SQL Server.

Avaliar a VM do SQL Server

As avaliações são executadas:

  • De acordo com um cronograma
  • A pedido

Executar avaliação agendada

Você pode configurar a avaliação em um cronograma usando o portal do Azure e a CLI do Azure.

Se você definir uma programação na folha de configuração, uma avaliação será executada automaticamente na data e hora especificadas. Escolha Configuração para modificar sua agenda de avaliação. Depois de fornecer uma nova agenda, a agenda anterior é substituída.

Avaliação de execução sob demanda

Depois que o recurso de avaliação de práticas recomendadas do SQL estiver habilitado para sua VM do SQL Server, é possível executar uma avaliação sob demanda usando o portal do Azure ou a CLI do Azure.

Para executar uma avaliação sob demanda usando o portal do Azure, selecione Executar avaliação na folha de avaliação de práticas recomendadas do SQL da página de recursos de VM do SQL Server do portal do Azure.

Ver resultados

A seção Resultados das avaliações da página Avaliações de práticas recomendadas do SQL mostra uma lista das execuções de avaliação mais recentes. Cada linha exibe a hora de início de uma execução e o status - agendado, em execução, carregando resultados, concluído ou falhado. Cada execução de avaliação tem duas partes: avalia sua instância e carrega os resultados no espaço de trabalho do Log Analytics. O campo status abrange ambas as partes. Os resultados da avaliação são mostrados nas pastas de trabalho do Azure.

Acesse a pasta de trabalho do Azure de três maneiras:

  • Selecione o botão Exibir avaliação bem-sucedida mais recente na página Avaliações de práticas recomendadas do SQL.
  • Escolha uma execução concluída na seção Resultados da avaliação da página Avaliações de práticas recomendadas do SQL.
  • Selecione Exibir resultados da avaliação das 10 principais recomendações exibidas na página Visão geral da página de recursos da SQL VM.

Depois de abrir a pasta de trabalho, você pode usar a lista suspensa para selecionar execuções anteriores. Você pode visualizar os resultados de uma única execução usando a página Resultados ou revisar tendências históricas usando a página Tendências.

Página de resultados

A página Resultados organiza as recomendações usando separadores para Todos, novos, resolvidos. Use essas guias para exibir todas as recomendações da execução atual, todas as novas recomendações (o delta de execuções anteriores) ou recomendações resolvidas de execuções anteriores. Os separadores ajudam-no a acompanhar o progresso entre as execuções. A guia Insights identifica os problemas mais recorrentes e os bancos de dados com mais problemas. Utilize-os para decidir onde concentrar os seus esforços.

A avaliação dos grupos gráficos resulta em diferentes categorias de gravidade - alta, média, baixa e informação. Selecione cada categoria para ver a lista de recomendações ou procure frases-chave na caixa de pesquisa. É melhor começar com as recomendações mais severas e ir para baixo na lista.

A primeira grade mostra cada recomendação e o número de instâncias em que seu ambiente atingiu esse problema. Quando você seleciona uma linha na primeira grade, a segunda lista todas as instâncias dessa recomendação específica. Se não houver seleção na primeira grade, a segunda grade mostra todas as recomendações. Potencialmente, esta poderia ser uma grande lista. Você pode usar as listas suspensas acima da grade (Nome, Gravidade, Tags, Check Id) para filtrar os resultados. Você também pode usar Exportar para Excel e Abrir a última consulta de execução nas opções de exibição Logs, selecionando os pequenos ícones no canto superior direito de cada grade.

A seção passada do gráfico identifica as recomendações que seu sistema já segue.

Veja informações detalhadas para cada recomendação selecionando o campo Mensagem , como uma longa descrição e recursos online relevantes.

Há três gráficos na página Tendências para mostrar as mudanças ao longo do tempo: todos os problemas, novos problemas e problemas resolvidos. Os gráficos ajudam-no a ver o seu progresso. Idealmente, o número de recomendações deve diminuir enquanto o número de questões resolvidas aumenta. A legenda mostra o número médio de problemas para cada nível de gravidade. Passe o cursor sobre as barras para ver os vales individuais para cada corrida.

Se houver várias execuções em um único dia, apenas a última execução será incluída nos gráficos na página Tendências .

Habilitar para todas as VMs em uma assinatura

Você pode usar a CLI do Azure para habilitar o recurso de avaliação de práticas recomendadas do SQL em todas as VMs do SQL Server em uma assinatura. Para fazer isso, use o seguinte script de exemplo:

# This script is formatted for use with Az CLI on Windows PowerShell. You may need to update the script for use with Az CLI on other shells.
# This script enables SQL best practices assessment feature for all SQL Servers on Azure VMs in a given subscription. It configures the VMs to use a Log Analytics workspace to upload assessment results. It sets a schedule to start an assessment run every Sunday at 11pm (local VM time).
# Please note that if a VM is already associated with another Log Analytics workspace, it will give an error.
 
$subscriptionId = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'
# Resource Group where the Log Analytics workspace belongs
$myWsRg = 'myWsRg'
# Log Analytics workspace where assessment results will be stored
$myWsName = 'myWsName'
# Resource Group where the Azure Monitor Agent resources will be created
$myAgentRg = 'myAgentRg'
 
# Ensure in correct subscription
az account set --subscription $subscriptionId
 
$sqlvms = az sql vm list | ConvertFrom-Json 
 
foreach ($sqlvm in $sqlvms)
{
  echo "Configuring feature on $($sqlvm.id)"
  az sql vm update --assessment-weekly-interval 1 --assessment-day-of-week Sunday --assessment-start-time-local "23:00" --workspace-name $myWsName --workspace-rg $myWsRg -g $sqlvm.resourceGroup --agent-rg $myAgentRg -n $sqlvm.name
  
  # Alternatively you can use this command to only enable the feature without setting a schedule
  # az sql vm update --enable-assessment true --workspace-name $myWsName --workspace-rg $myWsRg -g $sqlvm.resourceGroup --agent-rg $myAgentRg -n $sqlvm.name  
 
  # You can use this command to start an on-demand assessment on each VM
  # az sql vm start-assessment -g $sqlvm.resourceGroup -n $sqlvm.name
}

Problemas Conhecidos

Você pode encontrar alguns dos seguintes problemas conhecidos ao usar avaliações de práticas recomendadas de SQL.

Migrando do Microsoft Monitoring Agent (MMA) para o Azure Monitor Agent (AMA)

Anteriormente, o recurso de avaliação de práticas recomendadas do SQL usava o MMA para carregar avaliações no espaço de trabalho do Log Analytics. O MMA está sendo aposentado. Esse recurso agora usa o AMA para carregar avaliações. Se você habilitou a avaliação de práticas recomendadas de SQL usando MMA no passado, poderá migrar facilmente para o AMA primeiro desabilitando e, em seguida, reativando o recurso. Os resultados existentes ainda estarão disponíveis após a operação de desativação/habilitação, desde que você especifique o mesmo espaço de trabalho do Log Analytics. Se ele não estiver sendo usado por outros serviços, você pode, neste momento, remover o Microsoft Monitoring Agent seguindo estas instruções. Antes de migrar, verifique se o Azure Monitor Log Analytics tem suporte na região onde sua VM do SQL Server vive usando a tabela vinculada aqui.

Falha de implantação para Habilitar ou Executar Avaliação

Veja o histórico de implementações do grupo de recursos que contém a VM do SQL para visualizar a mensagem de erro associada à ação com falha.

Avaliações reprovadas

Se a avaliação ou o carregamento dos resultados falhar por algum motivo, o status dessa execução indicará a falha. Clicar no status abrirá um painel de contexto onde você poderá ver os detalhes sobre a falha e possíveis maneiras de corrigir o problema.

Gorjeta

Se você impôs o TLS 1.0 ou superior no Windows e desabilitou protocolos SSL mais antigos, conforme descrito aqui, também deve garantir que o .NET Framework esteja configurado para usar criptografia forte.

Próximos passos