Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouJúlia Tinoco Alterado mais de 9 anos atrás
1
Solução Avançada de Problemas com Extended Events Vladimir Michel Bacurau Magalhães MCITP | MCTS | MCP | MMI | MCT vladimir_magalhaes@ig.com.br www.vladimir-magalhaes.spaces.live.com Moderador Pedro Antonio Galvão Junior juniorgalvao-mvp2007.spaces.live.com
2
Agenda Troubleshooting no SQL Server 2005 Definição de Extended Events Conceitos Considerações de performance Ciclo de vida de um evento Exemplos
3
Troubleshooting no SQL Server 2005 No SQL Server 2005 as ferramentas normalmente utilizadas para troubleshooting são: DBCCs SQL Server Profiler SQL Trace
4
Troubleshooting no SQL Server 2005
5
Ainda no SQL Server 2005: DMVs – expuseram uma série de informações internas do SQL Server – Parte das informações já podiam ser obtidas através de DBCCs, só que agora de forma mais fácil e completa DDL Triggers Event Notifications
6
Troubleshooting no SQL Server 2008 Há situações onde o SQL Server 2005 não provê todas as informações necessárias – Exemplo: determinadas consultas utilizam CPU em excesso, mas as DMVs não fornecem informação suficiente para determinar a causa do problema.
7
Extended Events Extended Events, ou eventos extendidos, são um sistema genérico de gerenciamento de eventos para servidores. Permite relacionar informações do SQL Server e do sistema operacional.
8
Conceitos – Evento (Event): é um ponto definido no código. Ex: o ponto onde um lock termina de ser adquirido – Cada evento tem o seu “payload” determinado, ou seja, o conjunto de colunas que retorna. – O SQL Server 2008 RTM tem 254 eventos, apesar de que mais eventos devem ser adicionados com o tempo
9
Conceitos Listar os eventos existentes: SELECT xp.[name], xo.* FROM sys.dm_xe_objects xo, sys.dm_xe_packages xp WHERE xp.[guid] = xo.[package_guid] AND xo.[object_type] = 'event’ ORDER BY xp.[name];
10
Conceitos
11
Conceitos Eventos x ETW: Uma das principais vantagens dos Extended Events é o fato de podermos relacionar estes com a estrutura de Event Tracing for Windows (ETW), que é uma estrutura que permite obter informações de diagnóstico no Windows. Os eventos no SQL Server são categorizados de forma similar a encontrada no ETW, utilizando os chamados Channels (canais) e Keywords (palavras-chave). Isso foi feito exatamente para permitir a correlação de informações.
12
Conceitos Todo evento pertence a um dos quatro canais existentes. CanalAudiência de interesse AdminFocado em usuários finais e DBAs AnalyticFocados em investigações de performance (similares aos SQL Trace Events RPC Starting/Completed, SP statement starting/completed e SQL statement starting/completed). DebugFocado no suporte de produto e desenvolvedores. Utilizado para troubleshoot. OperationalFocados em usuários finais e DBAs. Demonstram eventos como database started/stopped ou attached/detached.
13
Conceitos Além de pertencer a um canal, estes são agrupados em palavras-chave, que são basicamente a parte do sistema que diz ter ativado o evento. Eventos são similares ao agrupamento de objetos do SQL Server Profiler.
14
Conceitos Obter o “payload” de um determinado evento SELECT * FROM sys.dm_xe_object_columns WHERE [object_name] = 'sql_statement_completed'; GO
15
Conceitos
16
Conceitos Predicado (Predicate): é o método utilizado para filtrar eventos, utilizando regras lógicas, antes dos eventos serem consumidos. Ex: filtrar eventos de aquisição de lock de um determinado ObjectID.
17
Conceitos Listar os predicados existentes: SELECT * FROM sys.dm_xe_objects WHERE object_type in ('pred_compare', 'pred_source') ORDER BY name
18
Conceitos
19
Conceitos Ação (Action): é um conjunto de comandos que são executados de forma síncrona, antes de um evento ser consumido. Normalmente adicionam mais informações ao payload do evento, como um plano de execução, por exemplo. São executados após a filtragem com os predicados.
20
Conceitos Listar ações existentes: SELECT xp.[name], xo.* FROM sys.dm_xe_objects xo, sys.dm_xe_packages xp WHERE xp.[guid] = xo.[package_guid] AND xo.[object_type] = 'action' ORDER BY xp.[name];
21
Conceitos
22
Conceitos Destino (Target): fornece uma maneira de consumir os eventos. Pode consumir qualquer evento (ou descartar o mesmo caso não haja o que consumir no evento). Targets podem consumir eventos de forma síncrona (o código que disparou o evento espera o evento ser consumido) ou de forma assíncrona. http://msdn.microsoft.com/en-us/library/dd822788.aspx
23
Conceitos Listar os destinos existentes: SELECT xp.[name], xo.* FROM sys.dm_xe_objects xo, sys.dm_xe_packages xp WHERE xp.[guid] = xo.[package_guid] AND xo.[object_type] = 'target' ORDER BY xp.[name];
24
Conceitos
25
Conceitos
26
Conceitos Pacotes (Packages): é um container que define objetos de eventos extendidos (eventos, ações, destinos). Pacotes são encontrados dentro dos módulos (DLLs, executáveis)
27
Conceitos Sessão (session): maneira de “conectar” objetos de eventos extendidos para processamento (um evento com uma ação para ser consumido por um destino. Listar as sessões ativas: SELECT * FROM sys.dm_xe_sessions;
28
Conceitos
29
Conceitos Mapas (Maps): permitem que o usuário entenda o sentido do valor, fornecendo descrições sobre os valores internos. Os mapas contêm tudo desde estados do broker até os wait types, e incluem até o canal e palavra-chave para categorizar eventos em seus respectivos grupos.
30
Conceitos Listar os mapas existentes: SELECT name, map_key, map_value FROM sys.dm_xe_map_values ORDER BY name, map_key
31
Considerações de Performance Eventos síncronos x Eventos assíncronos? Eventos assíncronos x buffering Perda de eventos x Performance
32
Ciclo de vida de um evento Após a definição de uma sessão de eventos extendidos o processamento continua o mesmo até que o código monitorado encontre um evento.
33
Ciclo de vida de um evento
34
Exemplos Vamos agora ao SSMS!
35
Ferramentas para troubleshooting SQLdiag RML Utilities Performance Dashboard Reports DMVStats
36
Ferramentas para gerenciamento de Extended Events Extended Events Manager Ntrace XPerf
37
Obrigado pelo Apoio
38
Did you know? SQL Server Central has highly active forums, where you can get a response to a question on SQL Server and other topics in a matter of minutes.
39
Did you know? Simple-Talk.com has a wealth of articles written by industry experts on SQL Server,.NET and SysAdmin, with no registration required to access each article.
40
Did you know? “Red Gate Software sponsored SQL Server Day. We’d love to hear your comments and suggestions about our tools. To get in touch just email communities@red-gate.com" communities@red-gate.com Annabel Bradford Red Gate Software
41
http://www.sqlpass.org/
42
Sugestão de Leitura http://www.sqlteam.com/article/introduction-to-sql-server-2008- extended-events http://www.sqlteam.com/article/introduction-to-sql-server-2008- extended-events http://technet.microsoft.com/en- us/magazine/2009.01.sql2008.aspx?pr=blog http://technet.microsoft.com/en- us/magazine/2009.01.sql2008.aspx?pr=blog http://msdn.microsoft.com/en-us/library/dd822788.aspx http://www.sqlteam.com/article/advanced-sql-server-2008-extended- events-with-examples http://www.sqlteam.com/article/advanced-sql-server-2008-extended- events-with-examples http://www.sqlservercentral.com/articles/deadlock/65658/
43
© 2006 Microsoft Corporation. Todos os direitos reservados. O propósito desta apresentação é apenas informativa. Microsoft não faz nenhuma garantia expressa ou implícita nesta apresentação. Seu potencial. Nossa inspiração. MR
44
Obrigado !
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.