Partilhar via


Exibir os eventos estendidos equivalentes a classes de evento de rastreamento SQL

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBase de dados SQL no Microsoft Fabric

Saiba como os eventos do Rastreamento SQL correspondem a eventos e ações de Eventos Estendidos. Você pode coletar dados de eventos equivalentes a classes e colunas de eventos do Rastreamento SQL.

Você pode usar o procedimento a seguir para exibir os eventos e ações de Eventos Estendidos que são equivalentes a cada evento de Rastreamento SQL e suas colunas associadas.

Para executar comandos T-SQL, use o SQL Server Management Studio (SSMS), a extensão MSSQL para Visual Studio Code, sqlcmd ou sua ferramenta de consulta T-SQL favorita.

Exibir os Eventos Estendidos equivalentes aos eventos de Rastreamento SQL usando o Editor de Consultas

  • Em um Editor de Consultas no SQL Server Management Studio, execute a seguinte consulta:

    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:

  • Se todas as colunas retornarem NULL , exceto a Event Class coluna, a classe de evento não foi migrada do Rastreamento SQL.

  • Se apenas o valor na Extended Events action coluna for NULL, uma das seguintes condições for verdadeira:

    • O SQL Trace column mapeia para um dos campos de dados associados ao evento Eventos Estendidos.

    • Cada evento de Eventos Estendidos tem um conjunto padrão de campos de dados que são incluídos automaticamente no conjunto de resultados.

    • A coluna action não possui um equivalente significativo nos Eventos Estendidos. Um exemplo é a EventClass coluna no Rastreamento SQL. Esta coluna não é necessária em Eventos Estendidos porque o nome do evento serve a mesma finalidade.

  • Os Eventos Estendidos usam um único evento para substituir as classes de evento de Rastreamento SQL configuráveis pelo usuário (UserConfigurable:1 a UserConfigurable:9). O evento é nomeado user_event. Esse evento é gerado usando sp_trace_generateevent, que é o mesmo procedimento armazenado usado pelo Rastreamento SQL. O user_event evento é retornado independentemente de qual ID de evento é passado para o procedimento armazenado. No entanto, um event_id campo é retornado como parte dos dados do evento, que você pode usar para criar um predicado com base na ID do evento. Por exemplo, se você usar UserConfigurable:0 (ID do evento = 82) no código, poderá adicionar o user_event evento à sessão e especificar um predicado de event_id = 82. Portanto, não é necessário alterar o código porque o sp_trace_generateevent procedimento armazenado gera o evento Extended Events user_event e a classe de evento SQL Trace equivalente.