Compartir por


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

Se aplica a:SQL ServerAzure SQL DatabaseInstancia administrada de Azure SQLBase de datos SQL en Microsoft Fabric

Obtenga información sobre cómo los eventos de SQL Trace se asignan a eventos y acciones de Eventos Extendidos. Puede recopilar datos de eventos que son equivalentes a las clases y columnas de eventos de Seguimiento de SQL.

Puede utilizar el procedimiento siguiente para ver los eventos y acciones de eventos extendidos que son equivalentes a cada evento de Seguimiento de SQL y sus columnas asociadas.

Para ejecutar comandos T-SQL, use SQL Server Management Studio (SSMS), la extensión MSSQL para Visual Studio Code, sqlcmd o la herramienta de consulta T-SQL favorita.

Consulta los equivalentes de eventos extendidos para los eventos de rastreo de SQL mediante el Editor de consultas

  • En un Editor de consultas de SQL Server Management Studio, ejecute la consulta siguiente:

    SELECT DISTINCT
        tb.trace_event_id,
        te.name            AS 'Event Class',
        em.package_name    AS 'Package',
        em.xe_event_name   AS 'XEvent Name',
        tb.trace_column_id,
        tc.name            AS 'SQL Trace Column',
        am.xe_action_name  AS 'Extended Events action'
    FROM
                  sys.trace_events         AS te
        LEFT JOIN sys.trace_xe_event_map   AS em ON te.trace_event_id  = em.trace_event_id
        LEFT JOIN sys.trace_event_bindings AS tb ON em.trace_event_id  = tb.trace_event_id
        LEFT JOIN sys.trace_columns        AS tc ON tb.trace_column_id = tc.trace_column_id
        LEFT JOIN sys.trace_xe_action_map  AS am ON tc.trace_column_id = am.trace_column_id
    ORDER BY te.name, tc.name;
    

Nota:

  • Si todas las columnas devuelven NULL excepto Event Class columna, la clase de evento no se migró desde SQL Trace.

  • Si solo el valor de la Extended Events action columna es NULL, se cumple cualquiera de las condiciones siguientes:

    • Se SQL Trace column corresponde con uno de los campos de datos asociados al evento de Eventos Extendidos.

    • Cada evento de eventos extendidos tiene un conjunto predeterminado de campos de datos que se incluyen automáticamente en el conjunto de resultados.

    • La columna action no tiene un equivalente significativo en Extended Events. Un ejemplo es la columna EventClass en SQL Trace. Esta columna no es necesaria en eventos extendidos porque el nombre del evento sirve para el mismo fin.

  • Eventos Extendidos usa un único evento para reemplazar las clases de eventos SQL Trace configurables por el usuario (UserConfigurable:1 mediante UserConfigurable:9). El evento se denomina user_event. Este evento se genera mediante sp_trace_generateevent, que es el mismo procedimiento almacenado que usa el seguimiento de SQL. El evento user_event se devuelve cualquiera que sea el identificador de evento que se pase al procedimiento almacenado. Sin embargo, se devuelve un event_id campo como parte de los datos del evento, que puede usar para compilar un predicado basado en el identificador de evento. Por ejemplo, si usa UserConfigurable:0 (id. de evento = 82) en el código, puede agregar el user_event evento a la sesión y especificar un predicado de event_id = 82. Por lo tanto, no es necesario cambiar el código porque el sp_trace_generateevent procedimiento almacenado genera el evento Extended Events user_event y la clase de eventos sql Trace equivalente.