Condividi tramite


Classe di evento Performance Statistics

La classe di evento Performance Statistics consente di eseguire il monitoraggio delle prestazioni di query, stored prcoedure e trigger in esecuzione. Ciascuna delle sei sottoclassi di evento indica un evento generato nel corso di query, stored procedure e trigger all'interno del sistema. L'utilizzo di tali sottoclassi di evento in combinazione con le viste a gestione dinamica sys.dm_exec_query_stats, sys.dm_exec_procedure_stats e sys.dm_exec_trigger_stats associate consente di ricostituire la cronologia delle prestazioni di qualsiasi query, stored procedure o trigger specifico.

Colonne di dati della classe di evento Performance Statistics

Nelle tabelle seguenti vengono descritte le colonne di dati della classe di evento associate a ciascuna delle sottoclassi di evento EventSubClass 0, EventSubClass 1, EventSubClass 2, EventSubClass 3, EventSubClass 4 e EventSubClass 5.

EventSubClass 0

Nome colonna di dati

Tipo di dati

Descrizione

ID colonna

Filtrabile

BigintData1

bigint

NULL

52

BinaryData

image

NULL

2

DatabaseID

int

ID del database specificato dall'istruzione USE database oppure il database predefinito se non è stata eseguita alcuna istruzione USE database per una determinata istanza. In SQL Server Profiler viene visualizzato il nome del database se la colonna di dati ServerName viene acquisita nella traccia e il server è disponibile. È possibile determinare il valore per un database utilizzando la funzione DB_ID.

3

EventSequence

int

Sequenza di un determinato evento nella richiesta.

51

No

EventSubClass

int

Tipo di sottoclasse di evento.

0 = Nuovo testo SQL del batch non presente nella cache.

Di seguito sono elencati i tipi di sottoclasse EventSubClass generati nella traccia per batch ad hoc.

Batch ad hoc con n query, dove n rappresenta un numero:

  • 1 di tipo 0

21

IntegerData2

int

NULL

55

ObjectID

int

NULL

22

Offset

int

NULL

61

PlanHandle

Image

NULL

65

SessionLoginName

nvarchar

Nome dell'account di accesso dell'utente che ha avviato la sessione. Se ad esempio si stabilisce la connessione a SQL Server con l'account di accesso Login1 e si esegue un'istruzione con l'account di accesso Login2, SessionLoginName indica Login1 e LoginName indica Login2. In questa colonna vengono visualizzati sia gli account di accesso di SQL Server che quelli di Windows.

64

SPID

int

ID della sessione in cui si è verificato l'evento.

12

SqlHandle

image

Handle SQL utilizzabile per ottenere il testo SQL del batch tramite la vista a gestione dinamica sys.dm_exec_sql_text.

63

StartTime

datetime

Ora di inizio dell'evento, se disponibile.

14

TextData

ntext

Testo SQL del batch.

1

EventSubClass 1

Nome colonna di dati

Tipo di dati

Descrizione

ID colonna

Filtrabile

BigintData1

bigint

Numero cumulativo di ricompilazioni del piano.

52

BinaryData

image

XML binario del piano compilato.

2

DatabaseID

int

ID del database specificato dall'istruzione USE database oppure il database predefinito se non è stata eseguita alcuna istruzione USE database per una determinata istanza. In SQL Server Profiler viene visualizzato il nome del database se la colonna di dati ServerName viene acquisita nella traccia e il server è disponibile. È possibile determinare il valore per un database utilizzando la funzione DB_ID.

3

EventSequence

int

Sequenza di un determinato evento nella richiesta.

51

No

SessionLoginName

nvarchar

Nome dell'account di accesso dell'utente che ha avviato la sessione. Se ad esempio si stabilisce la connessione a SQL Server con l'account di accesso Login1 e si esegue un'istruzione con l'account di accesso Login2, SessionLoginName indica Login1 e LoginName indica Login2. In questa colonna vengono visualizzati sia gli account di accesso di SQL Server che quelli di Windows.

64

EventSubClass

int

Tipo di sottoclasse di evento.

1 = Le query incluse in una stored procedure sono state compilate.

Di seguito sono elencati i tipi di sottoclasse EventSubClass generati nella traccia per stored procedure.

Stored procedure con n query, dove n rappresenta un numero:

  • n di tipo 1

21

IntegerData2

int

Fine dell'istruzione nella stored procedure.

-1 per la fine della stored procedure.

55

ObjectID

int

ID dell'oggetto assegnato dal sistema.

22

Offset

int

Offset iniziale dell'istruzione nella stored procedure o nel batch.

61

SPID

int

ID della sessione in cui si è verificato l'evento.

12

SqlHandle

image

Handle SQL utilizzabile per ottenere il testo SQL della stored procedure tramite la vista a gestione dinamica dm_exec_sql_text.

63

StartTime

datetime

Ora di inizio dell'evento, se disponibile.

14

TextData

ntext

NULL

1

PlanHandle

image

Handle del piano compilato per la stored procedure. Utilizzabile per ottenere il piano XML tramite la vista a gestione dinamica sys.dm_exec_query_plan.

65

ObjectType

int

Valore che rappresenta il tipo di oggetto coinvolto nell'evento.

8272 = stored procedure

28

BigintData2

bigint

Quantità di memoria totale, espressa in kilobyte, utilizzata durante la compilazione.

53

CPU

int

Tempo totale di CPU, espresso in millisecondi, dedicato alla compilazione.

18

Duration

int

Tempo totale, espresso in microsecondi, dedicato alla compilazione.

13

IntegerData

int

Dimensioni, espresse in kilobyte, del piano compilato.

25

EventSubClass 2

Nome colonna di dati

Tipo di dati

Descrizione

ID colonna

Filtrabile

BigintData1

bigint

Numero cumulativo di ricompilazioni del piano.

52

BinaryData

image

XML binario del piano compilato.

2

DatabaseID

int

ID del database specificato dall'istruzione USE database oppure il database predefinito se non è stata eseguita alcuna istruzione USE database per una determinata istanza. In SQL Server Profiler viene visualizzato il nome del database se la colonna di dati ServerName viene acquisita nella traccia e il server è disponibile. È possibile determinare il valore per un database utilizzando la funzione DB_ID.

3

EventSequence

int

Sequenza di un determinato evento nella richiesta.

51

No

SessionLoginName

nvarchar

Nome dell'account di accesso dell'utente che ha avviato la sessione. Se ad esempio si stabilisce la connessione a SQL Server con l'account di accesso Login1 e si esegue un'istruzione con l'account di accesso Login2, SessionLoginName indica Login1 e LoginName indica Login2. In questa colonna vengono visualizzati sia gli account di accesso di SQL Server che quelli di Windows.

64

EventSubClass

int

Tipo di sottoclasse di evento.

2 = Le query incluse in un'istruzione SQL ad hoc sono state compilate.

Di seguito sono elencati i tipi di sottoclasse EventSubClass generati nella traccia per batch ad hoc.

Batch ad hoc con n query, dove n rappresenta un numero:

  • n di tipo 2

21

IntegerData2

int

Fine dell'istruzione nel batch.

-1 per la fine del batch.

55

ObjectID

int

N/D

22

Offset

int

Offset iniziale dell'istruzione nel batch.

0 per l'inizio del batch.

61

SPID

int

ID della sessione in cui si è verificato l'evento.

12

SqlHandle

image

Handle SQL. Utilizzabile per ottenere il testo SQL del batch tramite la vista a gestione dinamica dm_exec_sql_text.

63

StartTime

datetime

Ora di inizio dell'evento, se disponibile.

14

TextData

ntext

NULL

1

PlanHandle

image

Handle del piano compilato per il batch. Utilizzabile per ottenere il piano XML del batch tramite la vista a gestione dinamica dm_exec_query_plan.

65

BigintData2

bigint

Quantità di memoria totale, espressa in kilobyte, utilizzata durante la compilazione.

53

CPU

int

Tempo totale di CPU, espresso in microsecondi, dedicato alla compilazione.

18

Duration

int

Tempo totale, espresso in millisecondi, dedicato alla compilazione.

13

IntegerData

int

Dimensioni, espresse in kilobyte, del piano compilato.

25

EventSubClass 3

Nome colonna di dati

Tipo di dati

Descrizione

ID colonna

Filtrabile

BigintData1

bigint

Numero cumulativo di ricompilazioni del piano.

52

BinaryData

image

NULL

2

DatabaseID

int

ID del database specificato dall'istruzione USE database oppure il database predefinito se non è stata eseguita alcuna istruzione USE database per una determinata istanza. In SQL Server Profiler viene visualizzato il nome del database se la colonna di dati ServerName viene acquisita nella traccia e il server è disponibile. È possibile determinare il valore per un database utilizzando la funzione DB_ID.

3

EventSequence

int

Sequenza di un determinato evento nella richiesta.

51

No

SessionLoginName

nvarchar

Nome dell'account di accesso dell'utente che ha avviato la sessione. Se ad esempio si stabilisce la connessione a SQL Server con l'account di accesso Login1 e si esegue un'istruzione con l'account di accesso Login2, SessionLoginName indica Login1 e LoginName indica Login2. In questa colonna vengono visualizzati sia gli account di accesso di SQL Server che quelli di Windows.

64

EventSubClass

int

Tipo di sottoclasse di evento.

3 = Una query memorizzata nella cache è stata distrutta e anche i dati relativi alla cronologia delle prestazioni associati al piano stanno per essere distrutti.

Di seguito sono elencati i tipi di sottoclasse EventSubClass generati nella traccia.

Batch ad hoc con n query, dove n rappresenta un numero:

  • 1 di tipo 3 quando la query viene scaricata dalla cache

Stored procedure con n query, dove n rappresenta un numero:

  • 1 di tipo 3 quando la query viene scaricata dalla cache.

21

IntegerData2

int

Fine dell'istruzione nella stored procedure o nel batch.

-1 per la fine della stored procedure o del batch.

55

ObjectID

int

NULL

22

Offset

int

Offset iniziale dell'istruzione nella stored procedure o nel batch.

0 per l'inizio della stored procedure o del batch.

61

SPID

int

ID della sessione in cui si è verificato l'evento.

12

SqlHandle

image

Handle SQL utilizzabile per ottenere il testo SQL della stored procedure o del batch tramite la vista a gestione dinamica dm_exec_sql_text.

63

StartTime

datetime

Ora di inizio dell'evento, se disponibile.

14

TextData

ntext

QueryExecutionStats

1

PlanHandle

image

Handle del piano compilato per la stored procedure o il batch. Utilizzabile per ottenere il piano XML tramite la vista a gestione dinamica dm_exec_query_plan.

65

GroupID

int

ID del gruppo del carico di lavoro in cui viene generato l'evento di Traccia SQL.

66

EventSubClass 4

Nome colonna di dati

Tipo di dati

Descrizione

ID colonna

Filtrabile

BigintData1

bigint

NULL

52

BinaryData

image

NULL

2

DatabaseID

int

ID del database in cui è contenuta la stored procedure specifica.

3

EventSequence

int

Sequenza di un determinato evento nella richiesta.

51

No

SessionLoginName

nvarchar

Nome dell'account di accesso dell'utente che ha avviato la sessione. Se ad esempio si stabilisce la connessione a SQL Server con l'account di accesso Login1 e si esegue un'istruzione con l'account di accesso Login2, SessionLoginName indica Login1 e LoginName indica Login2. In questa colonna vengono visualizzati sia gli account di accesso di SQL Server che quelli di Windows.

64

EventSubClass

int

Tipo di sottoclasse di evento.

4 = Una stored procedure memorizzata nella cache è stata rimossa dalla cache e i dati relativi alla cronologia delle prestazioni associati verranno distrutti.

21

IntegerData2

int

NULL

55

ObjectID

int

ID della stored procedure. Tale nome è lo stesso di quello della colonna object_id in sys.procedures.

22

Offset

int

NULL

61

SPID

int

ID della sessione in cui si è verificato l'evento.

12

SqlHandle

image

Handle SQL utilizzabile per ottenere il testo SQL della stored procedure eseguita tramite la vista a gestione dinamica dm_exec_sql_text.

63

StartTime

datetime

Ora di inizio dell'evento, se disponibile.

14

TextData

ntext

ProcedureExecutionStats

1

PlanHandle

image

Handle del piano compilato per la stored procedure. Utilizzabile per ottenere il piano XML tramite la vista a gestione dinamica dm_exec_query_plan.

65

GroupID

int

ID del gruppo del carico di lavoro in cui viene generato l'evento di Traccia SQL.

66

EventSubClass 5

Nome colonna di dati

Tipo di dati

Descrizione

ID colonna

Filtrabile

BigintData1

bigint

NULL

52

BinaryData

image

NULL

2

DatabaseID

int

ID del database in cui è contenuto il trigger specifico.

3

EventSequence

int

Sequenza di un determinato evento nella richiesta.

51

No

SessionLoginName

nvarchar

Nome dell'account di accesso dell'utente che ha avviato la sessione. Se ad esempio si stabilisce la connessione a SQL Server con l'account di accesso Login1 e si esegue un'istruzione con l'account di accesso Login2, SessionLoginName indica Login1 e LoginName indica Login2. In questa colonna vengono visualizzati sia gli account di accesso di SQL Server che quelli di Windows.

64

EventSubClass

int

Tipo di sottoclasse di evento.

5 = Un trigger memorizzato nella cache è stata rimosso dalla cache e i dati relativi alla cronologia delle prestazioni associati verranno distrutti.

21

IntegerData2

int

NULL

55

ObjectID

int

ID del trigger. Tale ID è lo stesso di quello della colonna object_id nelle viste del catalogo sys.triggers/sys.server_triggers.

22

Offset

int

NULL

61

SPID

int

ID della sessione in cui si è verificato l'evento.

12

SqlHandle

image

Handle SQL utilizzabile per ottenere il testo SQL del trigger tramite la vista a gestione dinamica dm_exec_sql_text.

63

StartTime

datetime

Ora di inizio dell'evento, se disponibile.

14

TextData

ntext

TriggerExecutionStats

1

PlanHandle

image

Handle del piano compilato per il trigger. Utilizzabile per ottenere il piano XML tramite la vista a gestione dinamica dm_exec_query_plan.

65

GroupID

int

ID del gruppo del carico di lavoro in cui viene generato l'evento di Traccia SQL.

66