Visualizzazione avanzata dei dati di destinazione da eventi estesi in SQL ServerAdvanced Viewing of Target Data from Extended Events in SQL Server

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

Questo articolo illustra come è possibile usare le funzionalità avanzate di SQL Server Management Studio (SSMS.exe) per visualizzare in dettaglio i dati di destinazione da eventi estesi.This article illustrates how you can use the advanced features of SQL Server Management Studio (SSMS.exe) to view the target data from extended events in rich detail. L'articolo spiega come:The article explains how to:

  • Aprire e visualizzare i dati di destinazione in diversi modi.Open and view the target data, in various ways.
  • Esportare i dati di destinazione in diversi formati, usando il menu o la barra degli strumenti specifica per gli eventi estesi.Export the target data to various formats, by using the special menu or toolbar for extended events.
  • Modificare i dati durante la visualizzazione o prima dell'esportazione.Manipulate the data while viewing, or before exporting.

PrerequisitiPrerequisites

Il presente articolo presuppone che si sappia già come creare e avviare una sessione evento.The present article assumes you already know how to create and start an event session. Le istruzioni per creare una sessione evento sono già state illustrate nell'articolo seguente:Instructions on how to create an event session are demonstrated early in the following article:

Avvio rapido: Eventi estesi in SQL ServerQuick Start: Extended Events in SQL Server

Questo articolo presuppone anche che sia stata installata una versione mensile molto recente di SSMS.This article also assumes you have installed a very recent monthly release of SSMS. La guida all'installazione è disponibile alla pagina:Installation help is at:

Differenze con il database SQL di AzureDifferences with Azure SQL Database

L'implementazione e le funzionalità degli eventi estesi nei due prodotti Microsoft SQL Server e database SQL di Azure sono molto simili,There is a high degree of parity in the implementation and capabilities of extended events in the two products Microsoft SQL Server and Azure SQL Database. ma esistono alcune differenze relative all'interfaccia utente di SSMS.But there are some differences that affect the SSMS UI (user interface).

  • Per il database SQL, la destinazione package0.event_file non può essere un file sull'unità disco locale,For SQL Database, the package0.event_file target cannot be a file on the local disk drive. ma è necessario usare un contenitore di archiviazione di Azure.Instead, an Azure Storage container must be used. Quindi, quando si è connessi al database SQL, l'interfaccia utente di SSMS chiede un contenitore di archiviazione, invece di un percorso locale e di un nome file.Therefore when you are connected to SQL Database, the SSMS UI asks for a storage container, instead of a local path and file name.

  • Nell'interfaccia utente di SSMS la casella di controllo Controlla dati dinamici è in grigio e disabilitata perché tale funzionalità non è disponibile per il database SQL.In the SSMS UI when you see the check box Watch live data is grayed and disabled, it is because that feature is not available for SQL Database.

  • Alcuni eventi estesi vengono installati con SQL Server.A few extended events are installed with SQL Server. Sotto il nodo Sessioni è possibile osservare AlwaysOn_health e un altro paio di elementiUnder the Sessions node we can see AlwaysOn_health plus a couple others. che non sono visibili quando si è connessi al database SQL perché non esistono per il database SQL.These are not visible when connected to SQL Database because they do not exist for SQL Database.

Il presente articolo è scritto dal punto di vista di SQL Server.The present article is written from the perspective of SQL Server. L'articolo usa la destinazione event_file, che è una delle differenze.The article uses the event_file target, which is one area of differences. Le altre differenze citate sono quelle più importanti o meno evidenti.Further mentions of any differences are limited to important or non-obvious differences.

Per la documentazione sugli eventi estesi specifica del database SQL di Azure, vedere:For documentation about extended events that is specific to Azure SQL Database, see:

A.A. Opzioni generaliGeneral options

Le opzioni avanzate generalmente sono accessibili nei modi seguenti:Generally the advanced options are accessed by the following means:

  • Dal normale menu File > Apri > File.The regular menu of File > Open > File.
  • Facendo clic con il pulsante destro del mouse in Esplora oggetti su Gestione > Eventi estesi.Right-clicks in the Object Explorer under Management > Extended Events.
  • Dallo speciale menu Eventi estesie dalla speciale barra degli strumenti per gli eventi estesi.The special menu Extended Events, and the special toolbar for extended events.
  • Facendo clic con il pulsante destro del mouse nel riquadro a schede che visualizza i dati di destinazione.Right-clicks in the tabbed pane that displays the target data.

B.B. Trasferire i dati di destinazione in SSMS per visualizzarliBring target data into SSMS for display

È possibile trasferire i dati della destinazione event_file nell'interfaccia utente di SSMS in diversi modi.There are various ways to bring event_file target data into the SSMS UI. Quando si specifica una destinazione event_file, si impostano il percorso e il nome file:When you specify an event_file target, you set its file path and name:

  • XEL è l'estensione del nome file..XEL is the extension of the file name.

  • Ogni volta che la sessione evento viene avviata, il sistema incorpora un numero intero elevato in un nuovo nome file, per renderlo univoco e distinguerlo da quello dell'occasione precedente in cui la sessione è stata avviata.Each time the event session is started, the system embeds a large integer into a new file name, to make the file name unique and different from the preceding occasion the session was started.

    • Esempio: Checkpoint_Begins_ES_0_131103935140400000.xelExample: Checkpoint_Begins_ES_0_131103935140400000.xel
  • I contenuti di un file XEL non sono testo normale visualizzabile con Notepad.exe.The contents inside a .XEL are not plain text that can be viewed with Notepad.exe.

    • Se necessario, per accodare più file XEL insieme, è possibile usare il menu File > Apri > Unisci file eventi estesi.If you want, the way to append several .XEL files together is to use the menu File > Open > Merge Extended Event Files.

SSMS può visualizzare dati da qualsiasi destinazione,SSMS can display data from any target. ma le visualizzazioni sono diverse a seconda della destinazione:But the displays are different for the various targets:

  • event_file: i dati da una destinazione event_file vengono visualizzati molto chiaramente e con funzionalità avanzate.event_file: Data from an event_file target is displayed very well, with rich features available.

  • ring_buffer: i dati da una destinazione ring-buffer vengono visualizzati come XML non elaborato.ring_buffer: Data from a ring-buffer target is displayed as raw XML.

  • Per le altre destinazioni, il risultato della destinazione è una via di mezzo tra quello di event_file e di ring_buffer.For other targets the power of the display is somewhere between that of event_file versus ring_buffer.

    • Tra le altre destinazioni sono incluse event_counter, histogram e pair_matching.Such other targets include event_counter, histogram, and pair_matching.
  • etw_classic_sync_target: SSMS non può visualizzare i dati dal tipo di destinazione etw_classic_sync_target.etw_classic_sync_target: SSMS cannot display data from the target type etw_classic_sync_target.

B.1 Aprire il file XEL dal menu File > Apri > FileB.1 Open .XEL with menu File > Open > File

È possibile aprire un singolo file XEL dal menu standard File > Apri > File.You can open an individual .XEL file with the standard menu File > Open > File.

È anche possibile trascinare e rilasciare un file XEL sulla barra della scheda nell'interfaccia utente di SSMS.You can also drag-and-drop an .XEL file onto the tab bar in the SSMS UI.

B.2 Visualizzare i dati di destinazioneB.2 View Target Data

L'opzione Visualizza dati di destinazione visualizza i dati acquisiti finora.The View Target Data option displays the data that has thus far been captured.

Nel riquadro Esplora oggetti è possibile espandere i nodi e quindi fare clic con il pulsante destro del mouse:In the Object Explorer pane, you can expand the nodes and then right-click:

  • Gestione > Eventi estesi > Sessioni > [sessione-utente] > [nodo-destinazione-utente] > Visualizza dati di destinazione.Management > Extended Events > Sessions > [your-session] > [your-target-node] > View Target Data.

I dati di destinazione vengono visualizzati in un riquadro a schede in SSMS,The target data is displayed in a tabbed pane in SSMS. come illustrato nello screenshot seguente.This is shown in the following screenshot.

Destinazione utente > Visualizza dati di destinazione

Nota

Visualizza dati di destinazione visualizza i dati accumulati da più file XEL dalla sessione evento specificata.View Target Data displays the accumulated data from multiple .XEL files from the given event session. Ogni ciclo Avvia-Arresta crea un file con un numero intero derivato successivamente incorporato nel nome, ma ogni file condivide lo stesso nome radice.Each Start-Stop cycle creates a file with a later time-derived integer embedded in its name, but each file shares the same root name.

B.3 Controllare i dati dinamiciB.3 Watch Live Data

Quando la sessione evento è attiva, potrebbe essere necessario controllare i dati dell'evento in tempo reale, non appena vengono ricevuti dalla destinazione.When your event session is currently active, you might want to watch the event data in real time, as it is received by the target.

  • Gestione > Eventi estesi > Sessioni > [sessione-utente] > Controlla dati dinamici.Management > Extended Events > Sessions > [your-session] > Watch Live Data.

Sessione utente > Controlla dati dinamici

La visualizzazione dei dati viene aggiornata in base all'intervallo specificato.The data display is updated at an interval you can specify. Vedere Latenza di recapito massima in:See Maximum dispatch latency at:

  • Eventi estesi > Sessioni > [sessione-utente] > Proprietà > Avanzate > Latenza di recapito massimaExtended Events > Sessions > [your-session] > Properties > Advanced > Maximum dispatch latency

B.4 Visualizzare il file XEL con la funzione sys.fn_xe_file_target_read_fileB.4 View .XEL with sys.fn_xe_file_target_read_file function

Per l'elaborazione batch, la funzione di sistema seguente può generare il codice XML per i record in un file XEL:For batch processing, the following system function can generate XML for the records in a .XEL file:

C.C. Esportare i dati di destinazioneExport the target data

Una volta che i dati di destinazione sono presenti in SSMS, è possibile esportarli in formati diversi eseguendo queste operazioni:After you have the target data in SSMS, you can export the data to various formats by doing the following:

  1. Spostare lo stato attivo sulla visualizzazione dei dati.Give focus to the data display.

    • Diventano immediatamente visibili una nuova barra degli strumenti e una nuova voce di menu per gli eventi estesi.Suddenly a new toolbar and a new menu item for extended events both become visible.

      Esportare i dati visualizzati, Eventi estesi > Esporta in > (CSV o XEL oppure una tabella)

  2. Fare clic sulla nuova voce di menu Eventi estesi.Click the new menu item Extended Events.

  3. Fare clic su Esporta ine quindi scegliere un formato.Click Export to, and then choose a format.

D.D. Modificare i dati nella visualizzazioneManipulate data in the display

L'interfaccia utente di SSMS consente di modificare i dati in diversi modi, ma anche di visualizzarli semplicemente così come sono.The SSMS UI offers you several ways to manipulate the data, beyond merely viewing the data as is.

D.1 Menu di scelta rapida nella visualizzazione datiD.1 Context menus in the data display

Quando si fa clic con il pulsante destro del mouse nella visualizzazione dati, si aprono menu di scelta rapida diversi a seconda della posizione.Different places in the data display offer different context menus when you right-click.

D.1.1 Fare clic con il pulsante destro del mouse su una cella di datiD.1.1 Right-click a data cell

Lo screenshot seguente illustra il menu contestuale visualizzato quando si fa clic con il pulsante destro del mouse nella visualizzazione dati.The following screenshot shows the content menu you get when you right-click cell in the data display. Lo screenshot illustra anche l'espansione della voce di menu Copia .The screenshot also shows the expansion of the Copy menu item.

Clic con il pulsante destro del mouse su una cella, nella visualizzazione dei dati

D.1.2 Fare clic con il pulsante destro del mouse su un'intestazione di colonnaD.1.2 Right-click a column header

Lo screenshot seguente illustra il menu di scelta rapida visualizzato facendo clic con il pulsante destro del mouse sull'intestazione timestamp .The following screenshot shows the context menu from a right-click of the timestamp header.

Clic con il pulsante destro del mouse su un'intestazione di colonna, nella visualizzazione dei dati

Lo screenshot precedente illustra anche la speciale barra degli strumenti per gli eventi estesi.The preceding screenshot also shows the special toolbar for extended events. La luminosità del pulsante Dettagli indica che è attivo.The brightness of the Details button indicates the button is active. L'immagine quindi illustra anche la scheda Dettagli . La griglia è una parte ulteriore della visualizzazione dati.Therefore the image also shows the Details tab and grid is present as a second portion of the data display.

D.2 Scegliere e unire le colonneD.2 Choose columns, Merge columns

L'opzione Scegli colonne consente di controllare quali colonne di dati vengono visualizzate e quali no.The Choose Columns option enables you to control which data columns are and are not displayed. È possibile trovare la voce di menu Scegli colonne in alcune posizioni diverse:You can find the Choose Columns menu item in a few different places:

  • Nel menu Eventi estesi .On the Extended Events menu.
  • Sulla barra degli strumenti Eventi estesi.On the extended events toolbar.
  • Nel menu di scelta rapida di un'intestazione nella visualizzazione dati.On the context menu of a header in the data display.

Quando si fa clic su Scegli colonne, viene visualizzata la finestra di dialogo con lo stesso nome.When you click Choose Columns, the dialog of the same name is displayed.

Finestra di dialogo Scegli colonne, con le opzioni Colonne unite

D.2.1 Unire le colonneD.2.1 Merge columns

La finestra di dialogo Scegli colonne ha una sezione dedicata all'unione di più colonne in una sola, a fini di:The Choose Columns dialog has a section devoted to the merging of multiple columns into one, for purposes of:

  • Visualizzazione.Display.
  • Esportazione.Export.

D.3 FiltriD.3 Filters

Nell'area degli eventi estesi è possibile specificare due tipi principali di filtri:In the area of extended events there are two major type of filters that you can specify:

  • Filtri precedenti la destinazione: filtri che riducono la quantità di dati inviati dal motore degli eventi alla destinazione.Pre-target filters: Filters that reduce the amount of data that is sent by the events engine to your target.

  • Filtri successivi alla destinazione: filtri che è possibile selezionare nell'interfaccia utente di SSMS per escludere alcuni record di destinazione dalla visualizzazione.Post-target filters: Filters you can select in the SSMS UI to exclude some target records from the display.

I filtri per la visualizzazione in SSMS sono i seguenti:The SSMS display filters are the following:

  • Un filtro basato sull' intervallo di tempo , che esamina la colonna timestamp .A time range filter, which examines the timestamp column.
  • Un filtro basato sui valori di colonna .A column values filter.

La relazione tra il filtro temporale e il filtro colonne è un operatore booleano "AND".The relationship between the time filter and columns filter is a Boolean 'AND'.

Intervallo di tempo e filtri colonne nella finestra di dialogo Filtri

D.4 Raggruppamento e aggregazioneD.4 Grouping and aggregation

Il raggruppamento di righe in base ai valori corrispondenti in una determinata colonna è il primo passaggio per eseguire un'aggregazione di riepilogo dei dati.Grouping rows together by matching values in a given column, is the first step toward the summary aggregation of data.

D.4.1 RaggruppamentoD.4.1 Grouping

Sulla barra degli strumenti degli eventi estesi il pulsante Raggruppamento apre una finestra di dialogo che è possibile usare per raggruppare i dati visualizzati in base a una determinata colonna.On the extended events toolbar, the Grouping button starts a dialog you can use to group the displayed data by a given column. Lo screenshot successivo illustra una finestra di dialogo usata per il raggruppamento in base alla colonna name.The next screenshot shows a dialog being used to group by the name column.

Barra degli strumenti > pulsante Raggruppamento, quindi finestra di dialogo Raggruppamento

Una volta eseguito il raggruppamento, la visualizzazione assume un nuovo aspetto, come illustrato sotto.After the grouping is achieved, the display has a new look, as shown next.

Nuovo aspetto della visualizzazione dopo il raggruppamento

D.4.2 AggregazioneD.4.2 Aggregation

Una volta raggruppati i dati visualizzati, è possibile aggregarli in altre colonne.After the displayed data has been grouped, you can proceed to aggregate data in other columns. Lo screenshot successivo illustra come i dati raggruppati vengono aggregati in base a count.The next screenshot shows the grouped data is being aggregated by count.

Barra degli strumenti > pulsante Aggregazione, quindi finestra di dialogo Aggregazione

Una volta eseguita l'aggregazione, la visualizzazione assume un nuovo aspetto, come illustrato sotto.After the aggregation is achieved, the display has a new look, as shown next.

Barra degli strumenti > pulsante Aggregazione, quindi finestra di dialogo Aggregazione

D.5 Visualizzare il piano di query in fase di esecuzioneD.5 View run time query plan

L'evento query_post_execution_showplan consente di visualizzare il piano di query effettivo nell'interfaccia utente di SSMS.The query_post_execution_showplan event enables you to see the actual query plan in the SSMS UI. Quando il riquadro Dettagli è visibile, è possibile visualizzare un grafico del piano di query nella scheda Query Plan .When the Details pane is visible, you can see a graph of the query plan on the Query Plan tab. Passando il puntatore su un nodo nel piano di query, è possibile visualizzare un elenco di nomi di proprietà e i rispettivi valori per il nodo.By hovering over a node on the query plan, you can see a list of property names and their values for the node.

Piano di query, con l'elenco di proprietà per un nodo