Troubleshooting no SQL Server 2008 com Extendeds Events – Parte 1.

Pessoal, boa tarde.

Tudo bem com você?

Após um período de reflexão, inatividade e um pouco de cuidados com a minha saúde, estou de volta com minhas atividades, principalmente em relação ao meu blog.

Neste últimos dias andei pensando qual poderia seria ser a nova série de assuntos que gostaria de abordar em meu blog, pesquisei muito na Internet, vasculhei também meus Scripts e não poderia deixar de consultar o fantástico Books On-Line.

Muito bem, repleto de ideias e pensamentos, como também curioso para aprender algo novo, vou começar hoje a apresentar um pouco sobre os chamados Extendeds Events, mais conhecidos como Eventos Estendidos. De que forma este recurso pode ser utilizado no SQL Server 2008 como uma ferramenta ou técnica para Troubleshooting.

Antes de querer apresentar algum tipo de código, cenários, formas de uso, vou tentar explicar inicialmente o que estes eventos estendidos representam para o SQL Server e também para o próprio Windows.

Troubleshooting SQL Server 2005?

Apesar do SQL Server 2005 ter aumentado a gama de recursos para troubleshooting ainda havia alguns problemas com tais
ferramentas. Os comandos DBCC precisam ter seu resultado armazenado em algum local, como uma tabela, para posterior análise, e utilizar o SQL Trace/SQL Server Profiler pode consumir muitos recursos do servidor, principalmente se não utilizados com os devidos cuidados.

Ainda no SQL Server 2005:  As DMVs apresentam 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. Outras possibilidades seriam utilizar os DDL Triggers e também os Event Notifications.

Justamente para tentar melhorar e possibilitar outras formas de resolução de problemas que o Extendeds Events foram criados.

Para isso vamos começar com a seguinte pergunta.

O que seriam Extendeds Events?

Basicamente os Extendeds Events (Eventos Estendidos) são reconhecidos como um sistema de manipulação de eventos para sistemas operacionais de servidores. A infraestrutura de Eventos Estendidos oferece suporte à correlação de dados do SQL Server e, em certas condições, à correlação de dados entre sistema operacional e aplicativos de banco de dados.

Podem também ser definidos ou denominados como, um sistema genérico de gerenciamento de eventos para servidores. Permitindo relacionar informações do SQL Server e do sistema operacional.

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.

O sistema Eventos Estendidos tem os seguintes principais aspectos:

  • O mecanismo Eventos Estendidos é agnóstico, o que permite que o mecanismo associe qualquer evento a qualquer destino porque não é restrito ao conteúdo do evento.
  • Os eventos são separados dos consumidores de evento, que são chamados destinos em Eventos Estendidos. Isso significa que qualquer destino pode  receber qualquer evento. Além disso, qualquer evento gerado pode ser consumido automaticamente pelo destino, que pode registrar ou fornecer contexto de evento adicional.
  • Os eventos são distintos quanto à ação no disparo de um evento. Como resultado, qualquer ação pode ser associada a qualquer evento.

O mecanismo Eventos Estendidos pode gerar dados de evento de forma síncrona (e processar os dados de forma assíncrona) o que fornece uma solução flexível para manipulação de eventos. Além disso, o mecanismo Eventos Estendidos fornece os seguintes recursos:

  • Uma abordagem unificada no tratamento de eventos em todo o sistema de servidor, permitindo, ao mesmo tempo, que os usuários isolem eventos específicos com a finalidade de solucionar problemas;
  • Um mecanismo de tratamento de evento completamente configurável com base no Transact-SQL; e
  • A habilidade de monitorar processos ativos dinamicamente com efeito mínimo sobre esses processos.

Os Eventos Estendidos possuem alguns elementos que formam a sua estrutura básica de funcionamento, dentre estes elementos, vou destacar inicialmente os Predicados.

O que é um Predicado?

Os Predicados são conhecidos como filtros dinamicos envolvidos nos disparos realizados para cada evento, com objetivo de aumentar a flexibilidade da infraestrutura do mecanismo Eventos Estendidos.

Outro elemento importante que esta diretamente relacionado com os Eventos Estendidos, são os chamados Events(Eventos):
O que é um Evento? Qual sua finalidade?
Evento (Event): é um ponto definido no código. Cada evento tem o seu “payload” determinado, ou seja, o conjunto de colunas que retorna. O SQL Server 2008 RTM apresenta 254 eventos, apesar de que mais eventos devem ser adicionados com o tempo.
Todo evento pertence a um dos quatro canais existentes, conforme a tabela abaixo:
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. Os Eventos podem ser considerados objetos similares a agrupamento de objetos do SQL Server Profiler.
Observação: Dentre estes diversos eventos existentes na versão 2008 RTM, alguns apresetam problemas que foram corrigidos, a partir da aplicação do Service Pack1 para o SQL Server 2008.
Bem pessoal, vou encerrar esta primeira parte aqui. Acredito que para começar a falar deste assunto os conceitos básicos já foram apresentados, o que nos deixa capaz de entender e começar a imaginar como os Extendeds Events podem ser utilizados.
Na próxima parte, vou destacar os demais conceitos que podem ser utilizados com este recurso, como também, suas tabelas e visões de sistemas.
Por enquanto muito obrigado, agradeço mais uma vez sua visita, nos encontramos nos próximos dias.
Até mais.

2 comentários em “Troubleshooting no SQL Server 2008 com Extendeds Events – Parte 1.

Os comentários estão fechados.