Sessioni degli eventi estesi di SQL ServerSQL Server Extended Events Sessions

QUESTO ARGOMENTO SI APPLICA A:sìSQL Server (a partire dalla versione 2014)sìDatabase SQL di AzurenoAzure SQL Data Warehouse noParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2014)yesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Una sessione di eventi estesi di SQL ServerSQL Server viene creata nel processo di SQL ServerSQL Server in cui è ospitato il motore degli eventi estesi.A SQL ServerSQL Server Extended Events session is created in the SQL ServerSQL Server process hosting the Extended Events engine. Gli aspetti seguenti di una sessione degli eventi estesi forniscono un contesto per la comprensione dell'infrastruttura degli eventi estesi e dell'elaborazione generale che si verifica:The following aspects of an Extended Events session provide a context for understanding the Extended Events infrastructure and the general processing that takes place:

  • Stati della sessione.Session states. Vari stati in cui si trova una sessione degli eventi estesi quando sono eseguite le istruzioni CREATE EVENT SESSION e ALTER EVENT SESSION.The different states that an Extended Events session is in when CREATE EVENT SESSION and ALTER EVENT SESSION statements are executed.

  • Contenuto e caratteristiche della sessione.Session content and characteristics. Contenuto di una sessione degli eventi estesi, ad esempio destinazioni ed eventi, e il modo in cui questi oggetti sono correlati in una sessione oggetti o tra sessioni.The content of an Extended Events session, such as targets and events, and how these objects are related in a session or between sessions.

Stati della sessioneSession States

Nella figura seguente sono mostrati i vari stati di una sessione degli eventi estesi.The following illustration shows the various states of an Extended Events session.

Stato della sessione degli eventi estesiExtended event session state

Con riferimento alla figura precedente, si noti come lo stato della sessione cambi man mano che vengono inviati i vari comandi DDL per una sessione dell'evento.Referring to the preceding figure, note that session state changes as the different DDL commands are issued for an event session. Tali cambiamenti di stato sono descritti nella tabella seguente.The following table describes these changes in state.

Etichetta di illustrazioneIllustration label Istruzione DDLDDL statement DescrizioneDescription
CreaCreate CREATE EVENT SESSIONCREATE EVENT SESSION Il processo host consente di creare un oggetto di sessione contenente i metadati forniti da CREATE EVENT SESSION.The host process creates a session object that contains the metadata provided by CREATE EVENT SESSION. Il processo host convalida la definizione di sessione, convalida il livello di autorizzazione dell'utente e archivia i metadati nel database master.The host process validates the session definition, validates the user permission level, and stores the metadata in the master database. A questo punto, la sessione non è attiva.At this point the session is not active.
AlterAlter ALTER EVENT SESSION, STATE=STARTALTER EVENT SESSION, STATE=START Il processo host avvia la sessione.The host process starts the session. Il processo host legge i metadati archiviati, convalida la definizione di sezione, verifica il livello di autorizzazione dell'utente e crea la sessione.The host process reads the stored metadata, validates the session definition, verifies the level of user permission level, and creates the session. Gli oggetti di sessione, ad esempio eventi e destinazioni, sono caricati e la gestione degli eventi è attiva.Session objects, such as events and targets, are loaded and event handling is active.
AlterAlter ALTER EVENT SESSION, STATE=STOPALTER EVENT SESSION, STATE=STOP Il processo host arresta la sessione attiva ma conserva i metadati.The host process stops the active session but retains the metadata.
DropDrop DROP EVENT SESSIONDROP EVENT SESSION A seconda che la sessione sia attiva o meno, Drop (DROP SESSION) elimina i metadati e chiude la sessione attiva oppure elimina i metadati della sessione.Depending on whether or not the session is active, Drop (DROP SESSION) will delete the metadata and close the active session, or delete the session metadata.
Nota

Sia ALTER EVENT SESSION che DROP EVENT SESSION possono essere applicati ai metadati o a una sessione attiva e ai metadati.Both ALTER EVENT SESSION and DROP EVENT SESSION can be applied to the metadata or to an active session and the metadata.

Contenuto e caratteristiche della sessioneSession Content and Characteristics

Le sessioni degli eventi estesi dei limiti impliciti in quanto la configurazione di una sessione non modifica la configurazione di un'altra sessione.Extended Event sessions have implied boundaries in that the configuration of one session does not change the configuration of another session. Tuttavia, questi limiti non impediscono che un evento o una destinazione siano utilizzati in più di una sessione.However, these boundaries do not prevent an event or target from being used in more than one session.

Nella figura seguente viene illustrato il contenuto di una sessione e la relazione tra pacchetti e sessioni.The following illustration shows session content and the relationship between packages and sessions.

Coesistenza e condivisione di oggetti nelle sessioni.Object co-existance and sharing in sessions.

Con riferimento all'illustrazione precedente, si noti che:Referring to the preceding illustration, note that:

  • Il mapping tra oggetti del pacchetto e le sessioni è molti-a-molti, ciò significa che un oggetto può apparire in più sessioni e una sessione può contenere più oggetti.The mapping between package objects and sessions is many to many, which means that that an object can appear in several sessions, and a session can contain several objects.

  • Lo stesso evento (Evento 1) o destinazione (Destinazione 1) può essere abilitato in più di una sessione.The same event (Event 1) or target (Target 1) can be enabled in more than one session.

    Le sessioni hanno le seguenti caratteristiche:Sessions have the following characteristics:

  • Azioni e predicati sono associati agli eventi per singola sessione.Actions and predicates are bound to events on a per-session basis. Se Evento 1 è presente nella sessione A con Azione 1 e predicato Z, ciò non avrà alcuna influenza sulla presenza di Evento 1 nella sessione B con Azione 2 e Azione 3 senza predicato.If you have Event 1 in Session A with Action 1 and Predicate Z, this will not in any way affect having Event 1 in Session B with Action 2 and Action 3 with no predicate.

  • I criteri sono allegati alle sessioni per gestire il buffering e il dispatch e il rilevamento della causalità.Policies are attached to sessions to handle buffering and dispatch, and causality tracking.

    Buffering e dispatchBuffering and dispatch

    Con il buffering si intende come i dati dell'evento sono archiviati mentre è in esecuzione una sessione dell'evento.Buffering refers to how event data is stored while an event session is running. I criteri di buffering specificano quanta memoria utilizzare per i dati dell'evento e i criteri di perdita per gli eventi.Buffering policies specify how much memory to use for event data, and the loss policy for the events. Con il dispatch si intende la quantità di eventi temporali che rimangono nei buffer prima di essere inviati alle destinazioni per essere elaborati.Dispatch refers to the amount of time events will stay in buffers before being served to targets for processing.

    Rilevamento della causalitàCausality tracking

    Il rilevamento della causalità fornisce la possibilità di monitorare il lavoro in più attività.Causality tracking provides the ability to track work across multiple tasks. Se il rilevamento della causalità è abilitato, ogni evento generato ha un ID attività univoco in tutto il sistema.When causality tracking is enabled, each event fired has a unique activity ID across the system. L'ID attività è una combinazione di un valore GUID che rimane costante in tutti gli eventi per un'attività e un numero di sequenza che si incrementa ogni volta che viene generato un evento.The activity ID is a combination of a GUID value that remains constant across all events for a task, and a sequence number that is incremented each time an event is fired. Quando un'attività fa sì che il lavoro sia svolto da un'altra, l'ID attività padre è inviato all'attività figlio.When one task causes work to be done on another, the activity ID of the parent is sent to the child task. L'attività figlio restituisce la prima l'ID attività padre la prima volta che genera un evento.The child task outputs the parent’s activity ID the first time it fires an event.

    L'architettura degli eventi estesi fornisce un sistema flessibile che consente a una varietà di oggetti di essere utilizzata insieme per risolvere problemi specifici.The Extended Events architecture provides a flexible system that allows a variety of objects to be used together to solve specific problems.

Vedere ancheSee Also

Eventi estesiExtended Events