16
Extended Extended Events 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 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

Embed Size (px)

Citation preview

Page 1: Extended 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

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.

Page 2: Extended 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

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.

Page 3: Extended 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

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

Page 4: Extended 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

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

Page 5: Extended 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

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

Page 6: Extended 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

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

Page 7: Extended 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

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

Page 8: Extended 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

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.

Page 9: Extended 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

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.

Page 10: Extended 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

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

Page 11: Extended 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

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

Page 12: Extended 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

Extended EventsExtended Events

Conceitos

• Types

•Maps

•Packages

Page 13: Extended 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

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.

Page 14: Extended 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

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

Page 15: Extended 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

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

Page 16: Extended 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

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