Motore degli Eventi estesi

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di Azure

Il motore degli eventi estesi di è una raccolta di servizi e oggetti che:

  • Abilitano la definizione degli eventi
  • Abilitano l'elaborazione dei dati
  • Gestiscono i servizi e gli oggetti degli Eventi estesi nel sistema
  • Mantengono un elenco di sessioni degli Eventi estesi e gestiscono l'accesso a tale elenco

Il motore degli Eventi estesi stesso non fornisce alcun evento o azione da intraprendere quando viene generato un evento. I processi che utilizzano il motore degli eventi estesi definiscono l'interazione con il motore. Questi processi aggiungono dei punti evento e forniscono le azioni da intraprendere in risposta alla generazione dell'evento.

Nell'illustrazione seguente è mostrata una vista semplificata di una sessione degli eventi estesi. Per altre informazioni, vedere Sessioni di Eventi estesi.

Diagram showing the detailed Extended Events architecture.

  • Ogni processo di Windows può avere uno o più moduli (Win32 process, Win32 module), noti anche come moduli binari o moduli eseguibili.
  • Ciascun modulo del processo di Windows può contenere uno o più pacchetti di eventi estesi (Package), contenenti uno o più oggetti di Eventi estesi (Type, TargetAction, Map, Predicate e Event).
  • In un processo host può esservi solo un'istanza del motore degli Eventi estesi (Extended event engine) che:
    • Gestisce alcuni aspetti della sessione (ad esempio, l'enumerazione delle sessioni).
    • Gestisce l'invio (Dispatcher), simile a un pool di thread.
    • Gestisce buffer di memoria (Buffer) per gli eventi. Quando i buffer sono riempiti, vengono inviati alle destinazioni.
  • Dopo che una sessione è stata creata e gli eventi sono associati facoltativamente alla sessione (Session context),
    • è possibile creare anche istanze di destinazioni (Target instance) e aggiungerle alla sessione.
    • Quando i buffer sono riempiti, questi buffer vengono inviati alle destinazioni.