Destinazione file di eventi
La destinazione file di eventi è una destinazione che esegue la scrittura di buffer completi sul disco.
Nella tabella seguente vengono descritte le opzioni disponibili per configurare un file di eventi utilizzato come destinazione.
Opzione |
Valori consentiti |
Descrizione |
---|---|---|
filename |
Qualsiasi stringa contenente fino a 260 caratteri. Questo valore è obbligatorio. |
Percorso del file e nome del file. È possibile utilizzare qualsiasi estensione per il file. |
max_file_size |
Qualsiasi valore intero a 64 bit. Questo valore è facoltativo. |
Dimensioni massime del file in megabyte (MB). Se l'opzione max_file_size non è specificata, le dimensioni del file aumentano fino a quando il disco non è pieno. Il valore delle dimensioni predefinite del file è 1 GB. Il valore di max_file_size deve essere maggiore delle dimensioni correnti dei buffer della sessione. In caso contrario, la destinazione file non verrà inizializzata e verrà segnalato che il valore di max_file_size non è valido. Per visualizzare le dimensioni correnti dei buffer, eseguire una query sulla colonna buffer_size nella vista a gestione dinamica sys.dm_xe_sessions. Se le dimensioni predefinite del file sono minori di quelle del buffer della sessione, è consigliabile impostare max_file_size sul valore specificato nella colonna max_memory nella vista del catalogo sys.server_event_sessions. Quando il valore di max_file_size è impostato su dimensioni maggiori di quelle dei buffer della sessione, il valore può essere arrotondato per difetto al multiplo più vicino delle dimensioni dei buffer della sessione. In questo modo, è possibile creare un file di destinazione con dimensioni minori del valore specificato per max_file_size. Se, ad esempio, il valore delle dimensioni del buffer è 100 MB e max_file_size è impostato su 150 MB, le dimensioni del file risultante vengono arrotondate per difetto a 100 MB perché i 50 MB di spazio non sarebbero sufficienti per il secondo buffer. Se le dimensioni predefinite del file sono minori di quelle del buffer della sessione, è consigliabile impostare max_file_size sul valore specificato nella colonna max_memory nella vista del catalogo sys.server_event_sessions. |
max_rollover_files |
Qualsiasi valore intero a 32 bit. Questo valore è facoltativo. |
Numero massimo di file da mantenere nel file system. |
increment |
Qualsiasi valore intero a 32 bit. Questo valore è facoltativo. |
Crescita incrementale del file in megabyte (MB). Se non viene specificato, il valore predefinito per questa opzione è il doppio delle dimensioni del buffer della sessione. |
La prima volta che viene creata una destinazione del file di evento, il nome del file specificato viene aggiunto con _0_ e un valore long integer. Il valore intero viene calcolato come il numero di millisecondi compresi tra l'1 gennaio 1600 e la data e l'ora di creazione del file. Questo formato viene utilizzato anche da file di rollover successivi. L'analisi del valore long integer consente di determinare il file più recente. Nell'esempio seguente viene illustrato come vengono denominati i file in uno scenario in cui l'opzione filename viene specificata come C:\OutputFiles\MyOutput.xel:
primo file creato - C:\OutputFiles\MyOutput_0_128500310259380000.xel
primo file di rollover - C:\OutputFiles\MyOutput_0_128505831770890000.xel
secondo file di rollover - C:\OutputFiles\MyOutput_0_132410772966237000.xel
Aggiunta della destinazione a una sessione
Per aggiungere la destinazione file di evento a una sessione di eventi estesi, è necessario includere le istruzioni seguenti quando si crea o si modifica una sessione eventi, sostituendo file_name con il nome e il percorso del file desiderati:
ADD TARGET package0.event_file(
SET filename='file_name.xel')
Analisi dell'output di destinazione
Per esaminare l'output dalla destinazione file, è necessario utilizzare la funzione sys.fn_xe_file_target_read_file. È consigliabile eseguire il cast dei dati come XML. È possibile utilizzare la sintassi seguente, sostituendo file_name con il nome e il percorso del file specificati quando è stata aggiunta la destinazione:
SELECT *, CAST(event_data AS XML) AS 'event_data_XML'
FROM sys.fn_xe_file_target_read_file('file_name*.xel', NULL, NULL, NULL)
Vedere anche
Riferimento
sys.fn_xe_file_target_read_file (Transact-SQL)
CREATE EVENT SESSION (Transact-SQL)
ALTER EVENT SESSION (Transact-SQL)