Módulo 01: Triagem, esperas e concorrência
A primeira semana dá-lhe o método que vai usar no resto da formação, numa aula gratuita ao sábado. Vê um servidor lento a ser diagnosticado e corrigido e executa as mesmas consultas de recolha de evidências no seu próprio laboratório. Depois aprende a ler a carga de trabalho em tempo real com DMV e ferramentas da comunidade, a classificar estrangulamentos com estatísticas de espera e a diagnosticar bloqueios e deadlocks.
Temas abordados
- Aula 1 (aula experimental gratuita), parte 1: Encontrar e corrigir um servidor lento
- Objetivo da aula: Ver uma investigação baseada em evidências, do sintoma até uma correção medida. Conteúdo orientado pelo formador: Apresentações. Sintoma, alcance, janela temporal e impacto. O método: linha de base, evidências, hipótese, alteração, medição e reversão. Separar problemas de consultas, concorrência, armazenamento e capacidade. Trabalho prático: Executar as consultas de DMV e de esperas fornecidas contra uma carga de trabalho lenta no laboratório. Encontrar a consulta principal, aplicar uma correção e medir o antes e o depois. Entregável do aluno: Medição do antes e do depois de uma correção. Prática entre aulas: Capturar uma linha de base do laboratório com uma carga de trabalho controlada.
- Aula 1 (aula experimental gratuita), parte 2: DMV, visibilidade da carga de trabalho em tempo real e ferramentas da comunidade
- Objetivo da aula: Ler o estado atual da carga de trabalho de forma rápida e fiável. Conteúdo orientado pelo formador: dm_exec_requests, dm_exec_sessions e o texto das consultas. Transações ativas e utilização de recursos. Cuidados com a amostragem. O sp_WhoIsActive e o First Responder Kit, e o que leem por baixo. Trabalho prático: Identificar os principais pedidos ativos. Capturar o texto da consulta, o tipo de espera e a utilização de recursos com DMV e com o sp_WhoIsActive. Entregável do aluno: Ficha da carga de trabalho em tempo real. Prática entre aulas: Construir um script de DMV reutilizável.
- Aula 1 (aula experimental gratuita), parte 3: Estatísticas de espera e classificação de estrangulamentos
- Objetivo da aula: Classificar onde o SQL Server gasta o seu tempo. Conteúdo orientado pelo formador: Esperas da instância vs. esperas por consulta. Categorias de CPU, I/O, bloqueios, memória e paralelismo. Porque é que as esperas sem contexto enganam. Trabalho prático: Gerar esperas controladas. Classificar o recurso provável. Entregável do aluno: Relatório de análise de esperas. Prática entre aulas: Registar as esperas antes e depois de uma alteração.
- Aula 1 (aula experimental gratuita), parte 4: Bloqueios, deadlocks e escolha do nível de isolamento
- Objetivo da aula: Diagnosticar incidentes de concorrência e escolher o nível de isolamento adequado. Conteúdo orientado pelo formador: Sessões na origem dos bloqueios e transações abertas. Gráficos de deadlock e as categorias de correção. Read committed snapshot: o benefício e o seu custo na tempdb. Escalonamento de bloqueios. Trabalho prático: Criar cenários de bloqueio e de deadlock. Recolher evidências com DMV e Extended Events. Testar a mesma carga de trabalho com e sem controlo de versões de linhas. Entregável do aluno: Relatório de incidente de concorrência. Prática entre aulas: Recomendar correções que não dependam de terminar sessões.
Trabalho prático
Corrige uma consulta lenta e mede o resultado, e depois captura uma linha de base do laboratório. Constrói um script reutilizável de diagnóstico em tempo real, classifica esperas controladas e testa a mesma carga de trabalho com e sem controlo de versões de linhas.

