Search Suggest

SQL Server e gli Extended Event

Carissimi lettori,

Spero vi sia piaciuto l'ultimo l'articolo!
Non vi nascondo che mi ha occupato per un certo numero di ore.

Oggi cambiamo un attimo argomento per parlare di Extended Event.


Lo facciamo perchè ci servirà per poter introdurre i prossimi articoli.
Si tratta infatti di una funzionalità molto potente nata addirittura ai tempi di SQL Server 2008 ed introdotta per sostiture il tool SQL Server profiler.

All'epoca purtroppo non ottenne il successo sperato da Microsoft e ciò molto probabilmente fu dovuto alla mancanza di una interfaccia grafica che ne rendesse agevole la configurazione che  al tempo doveva essere creata a mano tramite uno script in T-SQL.
L'interfaccia grafica vide la luce solamente con l'introduzione di SQL Server 2012.
Nel frattempo versione dopo versione sono aumentati gli eventi che è possibile tracciare passando dai 180 disponibili in SQL Server 2018 ai 1320 della versione 2016 di SQL Server.
Parecchi di questi eventi non sono altresì disponibili nel SQL Server Profiler. 

Siete pronti?

Gli extended event


Per prima cosa andate nel menù Gestione e trovate il sottomenù Sessioni.


Ora fate tasto destro sul menù sessioni e scegliete la voce Nuova sessione.
Si aprirà una finestra come quella sotto.
Date un nome alla sessione (io ho messo "Database_Recovery_Xevent")
Poi mettete la spunta sul flag Avviare la sessione eventi all'avvio del server.


Il gioco è quasi fatto.
Andate nella pagina Eventi e da li scegliete gli eventi che volete tracciare.
Gli eventi che è possibile scegliere sono davvero tanti e sono divisi per categoria, canale e pacchetto.

In questo esempio voglio scegliere gli eventi relativi al database recovery.
Digito quindi nella casella sotto all'etichetta Libreria di eventi la parola "database_recovery".
Mi appaiono 4 eventi che iniziano con la parola che ho immesso.


Per ognuno di essi è possibile filtrare per quale database attivare la registrazione degli eventi.

Per sceglierli è infine sufficiente fare doppio click sugli eventi che voglio abilitare.
Nel mio caso ho scelto i primi tre.


L'ultimo passo consiste nello scegliere dove memorizzare gli eventi intercettati.

Nella pagina archiviazione dati scegliere il tipo Event_File per salvare i dati su di un file di testo.
Impostazione come ultima cosa il nome del file.



Ora abbiamo creato la nostra nuova sessione, per farla partire fate tasto destro sul suo nome e scegliete la voce Avvia sessione.



Terminate le vostre prove spegnete la sessione.
Andate sul file che avrà estensione .XEL e fate doppio click sul file.
Si aprirà  una griglia con il dettaglio delle operazioni:


Abbiamo fatto un semplice esempio perchè lo scopo dell'articolo di oggi era appunto quello di imparare ad impostare la registrazione degli eventi estesi.
Nei prossimi articoli utilizzeremo questo strumento per indagare a fondo su alcuni argomenti molto molto interessanti!

Bene! ....per oggi è tutto!


Mi raccomando, vi aspetto al prossimo articolo!

Luca Biondi @ SQLServerPerformance blog!


Next post: SQL Server, il database recovery e le fasi di Analysis, Redo e Undo

Previous post: T-SQL & quando gli update non aggiornano nessuna riga




Post a Comment