Extended Events
description
Transcript of Extended Events
Extended EventsExtended Events
O que é SQL Server Extended Events?
• SQL Server Extended Events é um mecanismo de eventos criado no próprio código do SQL Server.• É manipulável por querys DDL.• Foi introduzido na versão SQL Server 2008 e tem vindo a evoluir a cada nova versão.
Extended EventsExtended Events
Porquê um novo mecanismo?
• Com a crescente complexidade dos sistemas, a utilização mais intensiva dos recursos disponíveis, a necessidade de mais informação e mais detalhada, relacionar os eventos do SQL Server com os eventos do S.O. e aplicações, a necessidade de um sistema dinâmico, …•A Microsoft criou este mecanismo por forma a responder a estas e outras solicitações da comunidade SQL Server.
Extended EventsExtended Events
Extended Events e outros mecanismos de monitorização/profiling
• Profiler•Extended events irá substituir o profiler pois:
•Consome menos recursos•É mais rápido•Tem várias formas de armazenar a informação•Tem um sistemas de “filtragem” avançado•Permite efectuar alterações em sessões que se encontram em execução•Permite recolher mais informação e mais detalhada•Permite indicar o que fazer se o sistema ficar com excesso de carga
Extended EventsExtended Events
Extended Events e outros mecanismos de monitorização/profiling
• ETW (Event Tracing for Windows)• Permite efectuar, em certas situações, uma correlação entre eventos dos SQL Server e eventos do S.O. e/ou aplicações• Suporta as versões Windows XP e Windows Server 2003 do ETW• Síncrono
Extended EventsExtended Events
Extended Events e outros mecanismos de monitorização/profiling
• DMV’s•Complementam-se•Contêm metadata relativa aos Extended Events
•Eventos•Acções•Predicados
•Extended Events não funcionam como timestamp•Com Extended Events pode-se filtrar por uma sessão especifica
Extended EventsExtended Events
Formas de utilização
• Monitorizar•Lock’s•Waitstats•Timeouts•Utilização excessiva de recursos
• Criação de mecanismos de auditoria• Encontrar interacções inesperadas, através do ETW
Extended EventsExtended Events
Conceitos
• Sessão (Session)Uma sessão é onde se agrupa os vários events, actions, predicates e “Targets”. Muito semelhante a uma sessão do profiler.Podem ser configuradas para iniciarem automaticamente quando o SQL Server inicia.O SQL Server já tem uma sessão que inicia automaticamente, system_health session
Extended EventsExtended Events
Conceitos
• Evento (Event)São trace points que já se encontram no código do SQL Server.Podem ser adicionados a uma sessão que já se encontre em execução.Cada evento recolhe informação relativa a esse evento.O schema de um evento não tem de ser o mesmo de outro evento.Por essa razão a informação é disponibilizada no formato XML.
Extended EventsExtended Events
Conceitos
• Acções (Action)Permitem adicionar mais informação/contexto a um evento.As acções são processadas em modo síncrono.Qualquer acção pode ser associada a qualquer evento.
Extended EventsExtended Events
Conceitos
• Predicados (Perdicates)Funcionam como filtros.São expressões booleanas.São avaliadas antes do processamento das acções.Existe o conceito de “state” que permite filtrar só os primeiros 3 eventos ou todos os eventos pares.Podem operar com base na informação do evento ou global
Extended EventsExtended Events
Conceitos
• TargetsDestino da informação recolhida
•Event Bucketing•Event pairing•ETW•Event file•Synchronous event counter•Ring Buffer
Modo de armazenamento pode ser síncrono ou assíncrono, existem destinos que só funcionam no modo síncrono.Qualquer evento pode ser consumido por qualquer Target.Pode processar no modo evento-a-evento ou utilizado Buffers
Extended EventsExtended Events
Conceitos
• Types
•Maps
•Packages
Extended EventsExtended Events
Ciclo de vida
• Pre-Collect – Verifica se o evento que ocorreu no SQL Server encontra-se registado em alguma sessão em execução.
•Collection – Recolhe toda a informação relativa a esse evento
•Post-Collect – Aplica os predicates (filtra)
•Publish•Acções – Executa as acções associadas ao evento na sessão, em modo síncrono.•Targets síncronos – Armazena a informação nos targets síncronos se existirem.•Targets assíncronos - Armazena a informação nos buffers utilizados pelos targets assíncronos.
Extended EventsExtended Events
Ferramentas
• Add-in para o SSMS 2008/2008 R2http://extendedeventmanager.codeplex.com/
•Extended Events Code Generator V1.001http://sqlblog.com/blogs/adam_machanic/archive/2010/05/08/extended-events-code-generator-v1-001-a-quick-fix.aspx
Extended EventsExtended Events
Denali
• Já existe UI (Session Wizard e Session UI)•Todos os eventos existentes no profiler já existem no Extended Events do Denali•Existem mais eventos no Denali do que no Profiler ( Always On, SQL CLR, UCS, …)•Foram removidos do Denali alguns eventos que existem nas versão 2008/2008 R2•Management API•Reader API
Extended EventsExtended Events
Recursos
• DMV’s (sys.dm_xe_...)
•http://blogs.msdn.com/b/extended_events/•http://sqlblog.com/blogs/adam_machanic/archive/tags/extended+events/default.aspx•http://www.sqlskills.com/blogs/paul/category/Extended-Events.aspx•SQL PASS 24 hours (7 Setembro às 14:00 GMT) com Jonathan Kehayias da SQL Skills http://www.sqlpass.org/24hours/fall2011/SessionsbySchedule.aspx•http://sqlblog.com/blogs/jonathan_kehayias/archive/tags/Extended+Events/default.aspx•http://www.sqlskills.com/blogs/jonathan/category/Extended-Events.aspx•http://msdn.microsoft.com/en-us/library/bb630282.aspx