Share via


Classe di evento CursorExecute

La classe di evento CursorExecute descrive gli eventi di esecuzione del cursore che si verificano nei cursori delle API. Tali eventi vengono generati quando MicrosoftMotore di database crea e popola un cursore a partire dal piano di esecuzione creato da un evento di preparazione del cursore.

Includere la classe di evento CursorExecute nelle tracce utilizzate per registrare le prestazioni dei cursori. Quando la classe di evento CursorExecute viene inclusa in una traccia, l'overhead generato dipende dalla frequenza di utilizzo dei cursori nel database durante l'esecuzione della traccia. Se si utilizzano diffusamente i cursori, l'esecuzione della traccia potrebbe ridurre in modo significativo le prestazioni.

Colonne di dati della classe CursorExecute Event

Nome colonna di dati

Tipo di dati

Descrizione

ID colonna

Filtrabile

ApplicationName

nvarchar

Nome dell'applicazione client in cui è stata creata la connessione a un'istanza di SQL Server. Questa colonna viene popolata con i valori passati dall'applicazione anziché con il nome visualizzato del programma.

10

ClientProcessID

int

ID assegnato dal computer host al processo in cui è in esecuzione l'applicazione client. Questa colonna di dati viene popolata se il client fornisce l'ID del processo client.

9

DatabaseID

int

ID del database specificato nell'istruzione USE database oppure il database predefinito se non è stata eseguita l'istruzione USE databaseper una determinata istanza. In SQL Server Profiler viene visualizzato il nome del database se l'acquisizione per la traccia include la colonna di dati ServerName e il server è disponibile. È possibile determinare il valore per un database tramite la funzione DB_ID.

3

DatabaseName

nvarchar

Nome del database in cui viene eseguita l'istruzione dell'utente.

35

EventClass

int

Tipo di evento registrato = 74.

27

 No

EventSequence

int

Posizione della classe di evento CursorExecute nel batch.

51

 No

GroupID

int

ID del gruppo del carico di lavoro dove l'evento Traccia SQL provoca l'attivazione.

66

Handle

int

Valore integer utilizzato da ODBC, OLE DB o DB-Library per il coordinamento dell'esecuzione con il server.

33

HostName

nvarchar

Nome del computer in cui è in esecuzione il client. Questa colonna di dati viene popolata se il client fornisce il nome host. Per determinare il nome host, utilizzare la funzione HOST_NAME.

8

IntegerData

int

Tipo di cursore. I valori validi sono:

1 = Keyset

2 = Dinamico

4 = Forward-only

8 = Statico

16 = Fast forward

25

No

IsSystem

int

Indica se l'evento si è verificato in un processo di sistema o in un processo utente. 1 = sistema, 0 = utente.

60

LoginName

nvarchar

Nome dell'account di accesso dell'utente (account di protezione di SQL Server o credenziali di accesso di Windows nel formato DOMINIO\nomeutente).

11

LoginSid

image

ID di protezione (SID) dell'utente connesso. Queste informazioni sono disponibili nella vista del catalogo sys.server_principals. Il SID è univoco per ogni account di accesso nel server.

41

NTDomainName

nvarchar

Dominio di Windows a cui appartiene l'utente.

7

NTUserName

nvarchar

Nome utente di Windows.

6

RequestID

int

Identificativo della richiesta utilizzato per l'esecuzione del cursore.

49

ServerName

nvarchar

Nome dell'istanza di SQL Server tracciata.

26

No

SessionLoginName

nvarchar

Nome dell'account di accesso dell'utente che ha avviato la sessione. Se, ad esempio, si attiva 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 è stato generato l'evento.

12

StartTime

datetime

Ora di inizio dell'evento, se disponibile.

14

TransactionID

bigint

ID della transazione assegnato dal sistema.

4

XactSequence

bigint

Token utilizzato per descrivere la transazione corrente.

50