Classe di evento CursorRecompile
La classe di evento CursorRecompile descrive gli eventi di ricompilazione del cursore che si verificano nei cursori API. Gli eventi di questo tipo si verificano quando Microsoft Motore di database ricompila un cursore Transact-SQL a causa di una modifica dello schema.
È consigliabile includere la classe di evento CursorRecompile nelle tracce che registrano le prestazioni dei cursori. Quando la classe di evento CursorRecompile viene inclusa in una traccia, la quantità di overhead che si verifica dipende dalla frequenza con cui i cursori vengono utilizzati rispetto al database durante la traccia. Se si utilizzano diffusamente i cursori, l'esecuzione della traccia potrebbe ridurre in modo significativo le prestazioni.
Colonne di di dati della classe di evento CursorRecompile
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 |
Sì |
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 specifica l'ID del processo client. |
9 |
Sì |
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 utilizzando la funzione DB_ID. |
3 |
Sì |
DatabaseName |
nvarchar |
Nome del database nel quale viene eseguita l'istruzione dell'utente. |
35 |
Sì |
EventClass |
int |
Tipo di evento registrato = 75. |
27 |
No |
EventSequence |
int |
Sequenza delle classe di evento CursorRecompile nel batch. |
51 |
No |
GroupID |
int |
ID del gruppo del carico di lavoro dove l'evento Traccia SQL provoca l'attivazione. |
66 |
Sì |
HostName |
nvarchar |
Nome del computer in cui è in esecuzione il client. Questa colonna di dati viene popolata se il client specifica il nome host. Per determinare il nome host, utilizzare la funzione HOST_NAME. |
8 |
Sì |
IsSystem |
int |
Indica se l'evento si è verificato in un processo di sistema o in un processo utente. 1 = sistema, 0 = utente. |
60 |
Sì |
LoginName |
nvarchar |
Nome dell'account di accesso dell'utente (account di protezione di SQL Server o credenziali di accesso di Microsoft Windows nel formato DOMINIO\nomeutente). |
11 |
Sì |
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 |
Sì |
NTDomainName |
nvarchar |
Dominio di Windows a cui appartiene l'utente. |
7 |
Sì |
NTUserName |
nvarchar |
Nome utente di Windows. |
6 |
Sì |
RequestID |
int |
Richiesto l'identificatore che ha ricompilato il cursore. |
49 |
Sì |
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. Ad esempio, se 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 |
Sì |
SPID |
int |
ID della sessione in cui si è verificato l'evento. |
12 |
Sì |
StartTime |
datetime |
Ora di inizio dell'evento, se disponibile. |
14 |
Sì |
TransactionID |
bigint |
ID della transazione assegnato dal sistema. |
4 |
Sì |
XactSequence |
bigint |
Token utilizzato per descrivere la transazione corrente. |
50 |
Sì |