4. Waits ?
Um processo rodando no Windows precisa aguardar por
recursos.
Sentado na fila por muito tempo? O processo está
aguardando…
O SQL é um processo do Windows, logo segue as mesmas
regras…
… e ainda têm suas próprias filas internas.
5. Waits ?
O processo do SQL, em sua forma mais básica, executa
apenas duas tarefas:
Consumir CPU;
Espera por recursos (incluindo CPU).
… então, para agilizar as tarefas:
Upgrade da CPU
Redução da espera.
6. Waits ?
SQL 2000 possui 78 wait types
SQL 2005 possui 201 wait types
SQL 2008 possui 484 wait types
SQL 2008 R2 possui 490 wait types
SQL 2012 possui 646 wait types
7. Waits ?
O SQL expõe, via DMV, a latência de vários
recursos, Locks, latches, I/O, paralelismo, mirror, etc..
Nem todos os Waits são ruins.
É normal uma tarefa ter que esperar. Ex. Quando transmite
dados para uma estação.
Tarefas de Background, na maior parte das vezes, estão
sempre esperando.
8. Extended Events, whatahell?
Quem precisa de outra ferramenta se temos o Profiler, certo?
Afinal ele pode monitorar basicamente tudo.
9. Extended Events, whatahell?
Desenhado para performance.
É muito difícil de trabalhar no SQL 2008.
Não possui ferramenta gráfica (oficial).
Muito XML.
10. XE – complicado?
Sem Intellisense, prepare-se para muita memorização.
Todo o evento é criado parado, você precisa lembrar de
inicia-lo:
ALTER EVENT SESSION [x]
ON SERVER STATE=START
Se utilizar ring buffer e parar o evento antes de analisar, o
resultado do evento será perdido.
Lembre-se de colocar as clausulas mais restritivas primeiro.
11. XE – criando um evento
CREATE EVENT SESSION [session_name]
ON SERVER
ADD EVENT [package].[event_name]
( ACTION ( [package].[action_name] ) [,…]
WHERE ( [predicate] [,…] ) ) [,…]
ADD TARGET [package].[target_name]
( SET [target_setting] = [setting] [,…])
WITH ([configration_options])