destinazione di Event Tracing for WindowsEvent Tracing for Windows Target

In questo argomento si applica a: SìSQL ServerSìDatabase SQL di AzurenonAzure SQL Data Warehouse non Parallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL ServeryesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Prima di utilizzare Event Tracing for Windows (ETW) come destinazione, è consigliabile acquisire familiarità con tale funzionalità.Before you use Event Tracing for Windows (ETW) as a target, we recommend that you have a working knowledge of ETW. L'analisi ETW è utilizzata in abbinamento a Eventi estesi o come un consumer di eventi estesi.ETW tracing is either used together with Extended Events or as an Extended Events event consumer. I collegamenti esterni seguenti rappresentano un punto iniziale per ottenere informazioni di base su ETW:The following external links provide a starting point for obtaining background information about ETW:

  • Eventi di WindowsWindows Events

  • Migliorare il debug e la regolazione delle prestazioni con ETWImprove Debugging And Performance Tuning With ETW

    Sebbene possa essere aggiunta a numerose sessioni, la destinazione ETW è una destinazione singleton.The ETW target is a singleton target, although the target can be added to many sessions. Se un evento viene generato in più sessioni, verrà propagato alla destinazione ETW solo una volta per ogni occorrenza.If an event is raised on many sessions, the event will only be propagated to the ETW target one time per event occurrence. Il motore di Eventi estesi è limitato a un'unica istanza per processo.The Extended Events engine is limited to a single instance per process.

Importante

Affinché la destinazione ETW funzioni, l'account di avvio del servizio SQL ServerSQL Server deve essere membro del gruppo Performance Log Users.For the ETW target to work, the SQL ServerSQL Server Service startup account must be a member of the Performance Log Users group.

La configurazione degli eventi presente in una sessione ETW è controllata dal processo che ospita il motore di Eventi estesi.The configuration of the events present in an ETW session is controlled by the process that hosts the Extended Events engine. Il motore controlla gli eventi da generare e le condizioni che devono essere soddisfatte perché l'evento si verifichi.The engine controls which events to raise and what conditions must be met for an event to occur.

Dopo avere eseguito un'associazione a una sessione di Eventi estesi, il che allega per la prima volta la destinazione ETW per la durata di un processo, la destinazione ETW apre una sola sessione ETW sul provider SQL ServerSQL Server .After binding to an Extended Events session, which attaches the ETW target for the first time during the lifetime of a process, the ETW target opens a single ETW session on the SQL ServerSQL Server provider. Se una sessione ETW esiste già, la destinazione ETW ottiene un riferimento alla sessione esistente.If an ETW session already exists, the ETW target obtains a reference to the existing session. Questa sessione ETW è condivisa in tutte le istanze SQL ServerSQL Server su un dato computer.This ETW session is shared across all SQL ServerSQL Server instances on a given computer. Questa sessione ETW riceve tutti gli eventi da sessioni che possiedono la destinazione ETW.This ETW session receives all the events from sessions that have the ETW target.

Poiché ETW ha bisogno che i provider siano abilitati per utilizzare gli eventi e trasmetterli verso il basso a ETW, tutti i pacchetti di Eventi estesi sono attivati nella sessione.Because ETW needs providers to be enabled to consume events and flow them down to the ETW, all Extended Events packages are enabled on the session. Quando un evento è generato, la destinazione ETW invia l'evento alla sessione sulla quale è abilitato il provider per l'evento.When an event is fired, the ETW target sends the event to the session on which the provider for the event is enabled.

La destinazione ETW supporta la pubblicazione sincrona di eventi sul thread che genera l'evento.The ETW target supports synchronous publishing of events on the thread that raises the event. Tale destinazione tuttavia non supporta la pubblicazione asincrona di eventi.However, the ETW target does not support asynchronous event publishing.

La destinazione ETW non supporta il controllo da controller ETW esterni, ad esempio Logman.exe.The ETW target does not support control from external ETW controllers such as Logman.exe. Per produrre tracce di ETW, una sessione dell'evento deve essere creata con la destinazione ETW.To produce ETW traces, an event session must be created with the ETW target. Per altre informazioni, vedere CREATE EVENT SESSION (Transact-SQL).For more information, see CREATE EVENT SESSION (Transact-SQL).

Nota

Abilitando la destinazione ETW, viene creata una sessione ETW denominata XE_DEFAULT_ETW_SESSION.Enabling the ETW target creates an ETW session that is named XE_DEFAULT_ETW_SESSION. Se esiste già una sessione con il nome XE_DEFAULT_ETW_SESSION, viene utilizzata senza la modifica di alcuna proprietà della sessione esistente.If a session with the name XE_DEFAULT_ETW_SESSION already exists, it is used without modifying any properties of the existing session. La sessione XE_DEFAULT_ETW_SESSION viene condivisa tra tutte le istanze di SQL ServerSQL Server.The XE_DEFAULT_ETW_SESSION is shared between all instances of SQL ServerSQL Server. Dopo aver avviato XE_DEFAULT_ETW_SESSION, è necessario arrestarla tramite un controller ETW, quale lo strumento Logman.After you start the XE_DEFAULT_ETW_SESSION, you must stop it by using an ETW controller, such as the Logman tool. Ad esempio, è possibile eseguire il comando seguente al prompt dei comandi: logman stop XE_DEFAULT_ETW_SESSION -ets.For example, you can run the following command at the command prompt: logman stop XE_DEFAULT_ETW_SESSION -ets.

Nella tabella seguente vengono descritte le opzioni disponibili per la configurazione della destinazione ETW.The following table describes the available options for configuring the ETW target.

OpzioneOption Valori consentitiAllowed values DescrizioneDescription
default_xe_session_namedefault_xe_session_name Qualsiasi stringa contenente fino a 256 caratteri.Any string up to 256 characters. Questo valore è facoltativo.This value is optional. Nome della sessione di Eventi estesi.The Extended Events session name. Per impostazione predefinita è XE_DEFAULT_ETW_SESSION.By default, this is XE_DEFAULT_ETW_SESSION.
default_etw_session_logfile_pathdefault_etw_session_logfile_path Qualsiasi stringa contenente fino a 256 caratteri.Any string up to 256 characters. Questo valore è facoltativo.This value is optional. Percorso del file di log per la sessione di Eventi estesi.The path of the log file for the Extended Events session. Per impostazione predefinita è %TEMP%\ XEEtw.etl.By default, this is %TEMP%\ XEEtw.etl.
default_etw_session_logfile_size_mbdefault_etw_session_logfile_size_mb Qualsiasi valore intero senza segno.Any unsigned integer. Questo valore è facoltativo.This value is optional. Dimensioni del file di log, in megabyte (MB), per la sessione di Eventi estesi.The log file size, in megabytes (MB), for the Extended Events session. Il valore predefinito è 20 MB.The default is 20 MB.
default_etw_session_buffer_size_kbdefault_etw_session_buffer_size_kb Qualsiasi valore intero senza segno.Any unsigned integer. Questo valore è facoltativo.This value is optional. Dimensioni del buffer in memoria, in kilobyte (MB), per la sessione di Eventi estesi.The in-memory buffer size, in kilobytes (KB), for the Extended Events session. Il valore predefinito è 128 MB.The default is 128 KB.
tentativiretries Qualsiasi valore intero senza segno.Any unsigned integer. Numero di tentativi di pubblicazione dell'evento al sottosistema ETW prima di eliminare l'evento.The number of times to retry publishing the event to the ETW subsystem before dropping the event. Il valore predefinito è 0.The default is 0.

La configurazione di queste impostazioni è facoltativa.Configuring these settings is optional. La destinazione ETW utilizza valori predefiniti per queste impostazioni.The ETW target uses default values for these settings.

La destinazione ETW è responsabile per:The ETW target is responsible for:

  • Creazione della sessione ETW predefinita.Creating the default ETW session.

  • Registrazione di tutti i pacchetti di Eventi estesi con ETW.Registering all Extended Events packages with ETW. Ciò assicura che gli eventi non siano eliminati da ETW.This ensures that events are not dropped by ETW.

  • Gestione dell'invio del flusso di eventi a ETW.Managing the flow of events to ETW. La destinazione ETW crea un evento ETW con i dati di Eventi estesi e lo invia alla sessione ETW appropriata.The ETW target creates an ETW event with Extended Events data and sends it to the appropriate ETW session. Se l'evento è più grande della dimensione del buffer o se i dati non possono adattarsi a un evento ETW, ETW suddivide l'evento in frammenti.If the event is larger than the buffer size, or data cannot fit in one ETW event, ETW splits the event into fragments.

  • Conservazione dei pacchetti di Eventi estesi sempre abilitata.Keeping Extended Events packages enabled at all times.

    I seguenti percorsi predefiniti dei file sono utilizzati da ETW:The following default file locations are used by ETW:

  • Il percorso del file di output per ETW è %TEMP%\XEEtw.etl.The ETW output file is in %TEMP%\XEEtw.etl.

    Importante

    Impossibile modificare il percorso del file dopo l'inizio della prima sessione.The file path cannot be changed after the first session starts.

  • I file Managed Object Format (MOF) si trovano in <percorso di installazione>\Microsoft SQL Server\Shared.Managed Object Format (MOF) files are in <your install path>\Microsoft SQL Server\Shared. Per altre informazioni, vedere Managed Object Format (MOF) su MSDN.For more information, see Managed Object Format on MSDN.

Aggiunta della destinazione a una sessioneAdding the Target to a Session

Per aggiungere la destinazione ETW a una sessione di Eventi estesi, è necessario includere l'istruzione seguente quando si crea o modifica una sessione eventi:To add the ETW target to an Extended Events session, you must include the following statement when you create or alter an event session:

ADD TARGET package0.etw_classic_sync_target  

Per altre informazioni su un esempio completo che mostra come usare la destinazione ETW e come visualizzare i dati, vedere Monitorare l'attività del sistema mediante gli eventi estesi.For more information about a full example that shows how to use the ETW target, including how to view the data, see Monitor System Activity Using Extended Events.

Vedere ancheSee Also

Destinazioni degli eventi estesi di SQL Server SQL Server Extended Events Targets
sys.dm_xe_session_targets (Transact-SQL) sys.dm_xe_session_targets (Transact-SQL)
CREATE EVENT SESSION (Transact-SQL) CREATE EVENT SESSION (Transact-SQL)
ALTER EVENT SESSION (Transact-SQL)ALTER EVENT SESSION (Transact-SQL)