A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Solução Avançada de Problemas com Extended Events Vladimir Michel Bacurau Magalhães MCITP | MCTS | MCP | MMI | MCT

Apresentações semelhantes


Apresentação em tema: "Solução Avançada de Problemas com Extended Events Vladimir Michel Bacurau Magalhães MCITP | MCTS | MCP | MMI | MCT"— Transcrição da apresentação:

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 !


Carregar ppt "Solução Avançada de Problemas com Extended Events Vladimir Michel Bacurau Magalhães MCITP | MCTS | MCP | MMI | MCT"

Apresentações semelhantes


Anúncios Google