Eventos extendidos

Los eventos extendidos de SQL Server tienen una arquitectura muy escalable y configurable que permite a los usuarios recopilar la información justa y necesaria para solucionar o identificar un problema de rendimiento.

Puede buscar más información acerca de Extended Events en Internet, en SQL Server Extended Events.

Ventajas de SQL Server Extended Events

Extended Events es un sistema ligero de supervisión de rendimiento que usa muy pocos recursos de rendimiento. Extended Events proporciona dos interfaces de usuario gráficas (Asistente para nueva sesión y Nueva sesión) para crear, modificar, mostrar y analizar los datos de la sesión.

Conceptos de Extended Events

Los eventos extendidos de SQL Server se basan en conceptos existentes, como evento o consumidor de eventos, usa los conceptos de la traza de eventos para Windows y presenta nuevos conceptos.

En la tabla siguiente se describen los conceptos de Extended Events.

Tema

Descripción

Paquetes de SQL Server Extended Events

Describe los paquetes de Extended Events que contienen objetos usados para obtener y procesar datos cuando se ejecuta una sesión de Extended Events.

Destinos de SQL Server Extended Events

Describe los consumidores de eventos que pueden recibir datos durante una sesión de eventos.

Motor de SQL Server Extended Events

Describe el motor que implementa y administra una sesión de Extended Events.

Sesiones de SQL Server Extended Events

Describe la sesión de eventos extendidos.

Arquitectura de eventos extendidos

Los eventos extendidos constituyen un sistema de control de eventos general para los sistemas del servidor. La infraestructura de Extended Events admite la correlación de datos de SQL Server y bajo ciertas condiciones, la correlación de datos de las aplicaciones de base de datos y sistema operativo. En este último caso, el resultado de eventos extendidos debe dirigirse al Seguimiento de eventos para Windows (ETW) para correlacionar los datos de evento con los datos de evento de la aplicación o del sistema operativo.

Todas las aplicaciones tienen puntos de ejecución que son útiles tanto dentro como fuera de una aplicación. Dentro de la aplicación, puede ponerse en cola el procesamiento asincrónico utilizando información recopilada durante la ejecución inicial de una tarea. Fuera de la aplicación, los puntos de ejecución proporcionan información a las utilidades de supervisión sobre las características de rendimiento y comportamiento de la aplicación supervisada.

Extended Events admite la utilización de datos de eventos fuera de un proceso. Normalmente, estos datos son utilizados por:

  • Herramientas de seguimiento, como Monitor de sistema y Seguimiento de SQL.

  • Herramientas de registro, como el registro de eventos de Windows o el registro de errores de SQL Server.

  • Usuarios que administran un producto o desarrollan aplicaciones de un producto.

Los aspectos clave del diseño de Extended Events son los siguientes:

  • El motor de Extended Events es independiente del evento. Esto permite al motor enlazar cualquier evento con cualquier destino, ya que el motor no está limitado por el contenido del evento. Para obtener más información sobre el motor de Extended Events, vea Motor de SQL Server Extended Events.

  • Los eventos están separados de los consumidores de eventos, llamados destinos en Extended Events. Esto significa que cualquier destino puede recibir cualquier evento. Además, cualquier evento generado puede ser automáticamente utilizado por el destino, que puede registrar o proporcionar el contexto adicional del evento. Para obtener más información, vea Destinos de SQL Server Extended Events.

  • Los eventos son diferentes de la acción que se lleva a cabo cuando se produce un evento. Por lo tanto, puede asociarse cualquier acción a cualquier evento.

  • Los predicados pueden filtrar dinámicamente cuándo se deben capturar los datos de evento. Esto se agrega a la flexibilidad de la infraestructura de eventos extendidos. Para obtener más información, vea Paquetes de SQL Server Extended Events.

Extended Events puede generar datos de eventos de forma sincrónica (y procesar de forma asincrónica dichos datos) lo que proporciona una solución flexible para el control de eventos. Además, Extended Events proporciona las características siguientes:

  • Un planteamiento unificado para controlar los eventos en todo el sistema de servidor, a la vez que habilita a los usuarios para aislar eventos específicos con el objeto de solucionar problemas.

  • Integración y compatibilidad con las herramientas de ETW existentes.

  • Un mecanismo completamente configurable de control de eventos basado en Transact-SQL.

  • La capacidad para supervisar dinámicamente los procesos activos, ejerciendo al mismo tiempo el mínimo efecto sobre dichos procesos.

  • Una sesión de estado del sistema predeterminada que se ejecuta sin efectos apreciables en el rendimiento. La sesión recopila datos del sistema que se pueden usar para ayudar a solucionar problemas de rendimiento. Para obtener más información, vea Usar la sesión system_health.

Tareas de Extended Events

Si mediante Management Studio o Transact-SQL ejecuta instrucciones de lenguaje de definición de datos (DDL) de Transact-SQL, funciones y vistas de administración dinámica, o vistas de catálogo, podrá crear soluciones sencillas o complejas de problemas de SQL Server Extended Events para el entorno de SQL Server.

Descripción de la tarea

Tema

Utilice el Explorador de objetos para administrar sesiones de eventos.

Administrar sesiones de eventos en el Explorador de objetos

Describe cómo crear una sesión de Extended Events.

Crear una sesión de eventos extendidos

Describe cómo ver y restaurar los datos de destino.

Ver datos de sesiones de eventos

Describe cómo usar las herramientas de Extended Events para crear administrar sesiones de SQL Server Extended Events.

Herramientas de eventos extendidos

Describe cómo alterar una sesión de Extended Events.

Modificar una sesión de eventos extendidos

Describe cómo copiar o exportar datos de destino.

Copiar o exportar datos de destino

Describe cómo modificar la vista de los resultados de seguimiento para personalizar el modo en el que desea analizar los datos.

Modificar la vista de resultados del seguimiento

Describe cómo obtener información acerca de los campos asociados a los eventos.

Obtener los campos de todos los eventos

Describe cómo determinar los eventos que están disponibles en los paquetes registrados.

Ver los eventos de los paquetes registrados

Describe cómo determinar los destinos de eventos extendidos que están disponibles en los paquetes registrados.

Ver los destinos de eventos extendidos de los paquetes registrados

Describe cómo ver los eventos y las acciones de los eventos extendidos que son equivalentes a cada evento de Seguimiento de SQL y sus columnas asociadas.

Ver los eventos extendidos equivalentes a las clases de evento de Seguimiento de SQL Server

Describe cómo determinar los parámetros que puede establecer al usar el argumento ADD TARGET en CREATE EVENT SESSION o ALTER EVENT SESSION.

Obtener los parámetros configurables del argumento ADD TARGET

Describe cómo convertir un script de Seguimiento de SQL existente en una sesión de eventos extendidos.

Convertir un script de seguimiento de SQL existente en una sesión de eventos extendidos.

Describe cómo determinar las consultas que mantienen el bloqueo, el plan de la consulta y la pila de Transact-SQL en el momento en que se realizó el bloqueo.

Determinar las consultas que mantienen bloqueos

Describe cómo identificar el origen de los bloqueas que afectan al rendimiento de la base de datos.

Buscar los objetos que han obtenido más bloqueos

Describe cómo usar los eventos extendidos con el seguimiento de eventos para Windows a fin de supervisar la actividad del sistema.

Supervisar la actividad del sistema mediante eventos extendidos

Vea también

Referencia

Vistas de administración dinámica de eventos extendidos

Vistas de catálogo de eventos extendidos (Transact-SQL)

Conceptos

Aplicaciones de capa de datos

Compatibilidad de DAC con las versiones y objetos de SQL Server

Implementar una aplicación de capa de datos

Supervisar aplicaciones de capa de datos