Condividi tramite


Classe di evento SQL:StmtRecompile

La classe di evento SQL:StmtRecompile indica ricompilazioni a livello di istruzione causate da tutti i tipi di batch: stored procedure, trigger, batch ad hoc e query. Le query possono essere inviate utilizzando sp_executesql, linguaggio SQL dinamico, metodi Prepare, metodi Execute o interfacce simili. A partire da SQL Server 2005, è consigliabile utilizzare la classe di evento SQL:StmtRecompile anziché SP:Recompile.

Colonne di dati della classe di evento SQL:StmtRecompile

Nome colonna di dati

Tipo di dati

Descrizione

ID colonna

Filtrabile

ApplicationName

nvarchar

Nome dell'applicazione client che ha creato la connessione a un'istanza di Microsoft 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.

9

DatabaseID

int

ID del database nel quale viene eseguita la stored procedure. È possibile determinare il valore per un database tramite la funzione DB_ID.

3

DatabaseName

nvarchar

Nome del database nel quale viene eseguita la stored procedure.

35

EventSequence

int

Sequenza di un evento nella richiesta.

51

No

EventSubClass

int

Indica il motivo della ricompilazione:

1 = Schema modificato

2 = Statistiche modificate

3 = Compilazione posticipata

4 = Opzione impostata modificata

5 = Tabella temporanea modificata

6 = Set di righe remoto modificato

7 = Autorizzazioni FOR BROWSE modificate

8 = Ambiente di notifica query modificato

9 = Vista partizionata modificata

10 = Opzioni cursore modificate

11 = Opzione (RECOMPILE) richiesta

21

GroupID

int

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

66

HostName

nvarchar

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

8

IntegerData2

int

Offset finale dell'istruzione nella stored procedure o nel batch che ha provocato la ricompilazione. L'offset finale è -1 se l'istruzione rappresenta l'ultima istruzione nel batch.

55

IsSystem

int

Indica se l'evento è stato generato in un processo di sistema o in un processo utente.

1 = sistema

0 = utente

60

LineNumber

int

Numero di sequenza dell'istruzione nel batch, se applicabile.

5

LoginName

nvarchar

Nome dell'account di accesso che ha inviato il batch.

11

LoginSid

image

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

41

NestLevel

int

Livello di nidificazione della chiamata di stored procedure. Ad esempio, la stored procedure my_proc_a chiama my_proc_b. In questo caso, per my_proc_a il valore di NestLevel è 1, mentre per my_proc_b il valore di NestLevel è 2.

29

NTDomainName

nvarchar

Dominio di Windows a cui appartiene l'utente.

7

NTUserName

nvarchar

Nome utente di Windows dell'utente connesso.

6

ObjectID

int

Identificativo assegnato dal sistema all'oggetto contenente l'istruzione che ha causato la ricompilazione. Tale oggetto può essere una stored procedure, un trigger o una funzione definita dall'utente. Nel caso di SQL preparato o di batch ad hoc, ObjectID e ObjectName restituiscono un valore NULL.

22

ObjectName

nvarchar

Nome dell'oggetto identificato da ObjectID.

34

ObjectType

int

Valore che rappresenta il tipo di oggetto coinvolto nell'evento. Per ulteriori informazioni, vedere Colonna ObjectType per gli eventi di traccia.

28

Offset

int

Offset iniziale dell'istruzione nella stored procedure o nel batch che ha provocato la ricompilazione.

61

RequestID

int

ID della richiesta contenente l'istruzione.

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 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 del processo server della connessione.

12

SqlHandle

varbinary

Hash a 64 bit basato sul testo di una query ad hoc oppure ID del database e dell'oggetto di un oggetto SQL. È possibile passare questo valore a sys.dm_exec_sql_text per recuperare il testo SQL associato.

63

No

StartTime

datetime

Ora di inizio dell'evento, se disponibile.

14

TextData

ntext

Testo dell'istruzione Transact-SQL ricompilata

1

TransactionID

bigint

ID della transazione assegnato dal sistema.

4

XactSequence

bigint

Token utilizzato per descrivere la transazione corrente.

50