Introdução

Concluído

Uma consulta lenta durante as horas de ponta pode provocar uma falha de serviço. Um nível de isolamento mal escolhido pode fazer com que os utilizadores vejam dados obsoletos ou bloqueiem-se uns aos outros durante segundos seguidos. Os problemas de desempenho na Azure SQL Database raramente têm uma única causa. Surgem da interação entre configuração de hardware, comportamento de concorrência, execução de consultas e padrões de carga de trabalho. Diagnosticar estes problemas requer compreender cada camada e saber que ferramentas usar em cada nível.

Imagine uma equipa a gerir uma aplicação de comércio eletrónico na Azure SQL Database. Durante uma promoção de férias, a taxa de processamento das transações diminui e os clientes reportam tempos de inatividade. A base de dados está sub-provisionada? As consultas estão a analisar tabelas inteiras em vez de procurar através dos índices? Estão a formar-se cadeias de bloqueio entre transações concorrentes? O otimizador de consultas está a escolher um plano mau? Cada possibilidade requer uma ferramenta de investigação diferente e uma estratégia de resolução distinta. Este módulo dá-te as competências para resolver cada uma dessas questões de forma sistemática.

Depois de concluir este módulo, você é capaz de:

  • Avaliar e recomendar configurações de bases de dados, incluindo níveis de serviço, camadas de computação e limites de recursos.
  • Escolha níveis de isolamento de transações e controlos de concorrência que equilibrem consistência com throughput.
  • Analise o desempenho das consultas utilizando planos de execução e vistas de gestão dinâmica.
  • Monitorize e ajuste as consultas com o Query Store e o Query Performance Insight.
  • Identificar e resolver bloqueios e interbloqueios usando DMVs e Eventos Estendidos.