Classe di evento Lock:Released
La classe di evento Lock:Released segnala il rilascio di un blocco su una risorsa, ad esempio una pagina.
Le classi di evento Lock:Acquired e Lock:Released consentono di monitorare i blocchi acquisiti sugli oggetti, il tipo di blocco applicato e la durata del blocco. I blocchi mantenuti per lunghi periodi di tempo possono causare problemi di contesa ed è pertanto consigliabile approfondirne l'analisi. Ad esempio, è possibile che un'applicazione acquisisca i blocchi sulle righe di una tabella e quindi rimanga in attesa dell'intervento dell'utente. L'attesa dell'intervento dell'utente può essere prolungata, pertanto i blocchi sulle righe possono inibirne l'uso ad altri utenti. In tal caso, è consigliabile riprogettare l'applicazione in modo che le richieste di blocco vengano attivate soltanto quando necessario e che al momento dell'acquisizione dei blocchi non venga richiesto l'intervento dell'utente.
Colonne di dati della classe di evento Lock: Released
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ì |
BinaryData |
image |
Identificatore della risorsa blocco. |
2 |
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 fornisce l'ID del processo client. |
9 |
Sì |
DatabaseID |
int |
ID del database in cui è stato rilasciato il blocco. 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 |
Sì |
EventClass |
int |
Tipo di evento = 23. |
27 |
No |
EventSequence |
int |
Sequenza di un determinato evento nella richiesta. |
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 fornisce il nome host. Per determinare il nome host, utilizzare la funzione HOST_NAME. |
8 |
Sì |
IntegerData2 |
int |
Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future. |
55 |
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 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ì |
Mode |
int |
Modalità risultante a seguito del rilascio del blocco. 0=NULL - Compatibile con tutte le altre modalità di blocco (LCK_M_NL) 1=Blocco di stabilità dello schema (LCK_M_SCH_S) 1=Blocco di modifica dello schema (LCK_M_SCH_M) 3=Blocco di condivisione (LCK_M_S) 4=Blocco di aggiornamento (LCK_M_U) 5=Blocco esclusivo (LCK_M_X) 6=Blocco di condivisione preventivo (LCK_M_IS) 7=Blocco di aggiornamento preventivo (LCK_M_IU) 8=Blocco esclusivo preventivo (LCK_M_IX) 9=Condiviso-Preventivo-Aggiornamento (LCK_M_SIU) 10=Condiviso-Preventivo-Esclusivo (LCK_M_SIX) 10=Aggiornamento-Preventivo-Esclusivo (LCK_M_SIX) 12=Blocco aggiornamenti bulk (LCK_M_BU) 13=Intervalli di chiavi-Condiviso/Condiviso (LCK_M_RS_S) 14=Intervalli di chiavi-Condiviso/Aggiornamento (LCK_M_RS_U) 15=Intervalli di chiavi-Inserimento-NULL (LCK_M_RI_NL) 16=Intervalli di chiavi-Inserimento-Condiviso (LCK_M_RI_S) 17=Intervalli di chiavi-Inserimento-Aggiornamento (LCK_M_RI_U) 18=Intervalli di chiavi-Inserimento-Esclusivo (LCK_M_RI_X) 19=Intervalli di chiavi-Esclusivo-Condiviso (LCK_M_RX_S) 20=Intervalli di chiavi-Esclusivo-Aggiornamento (LCK_M_RX_U) 21=Intervalli di chiavi-Esclusivo-Esclusivo (LCK_M_RX_X) |
32 |
Sì |
NTDomainName |
nvarchar |
Dominio di Windows a cui appartiene l'utente. |
7 |
Sì |
NTUserName |
nvarchar |
Nome utente di Windows. |
6 |
Sì |
ObjectID |
int |
ID dell'oggetto rilasciato assegnato dal sistema, se disponibile e applicabile. |
22 |
Sì |
ObjectID2 |
bigint |
ID dell'entità o dell'oggetto correlato, se disponibile e applicabile. |
56 |
Sì |
OwnerID |
int |
1=TRANSACTION 2=CURSOR 3=SESSION 4=SHARED_TRANSACTION_WORKSPACE 5=EXCLUSIVE_TRANSACTION_WORKSPACE |
58 |
Sì |
RequestID |
int |
ID della richiesta contenente l'istruzione. |
49 |
Sì |
ServerName |
nvarchar |
Nome dell'istanza di SQL Server di cui si sta eseguendo la traccia. |
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 |
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ì |
TextData |
ntext |
Valore di testo che dipende dalla classe di evento acquisita nella traccia. |
1 |
Sì |
TransactionID |
bigint |
ID della transazione assegnato dal sistema. |
4 |
Sì |
Type |
int |
1=NULL_RESOURCE 2=DATABASE 3=FILE 5=OBJECT 6=PAGE 7=KEY 8=EXTENT 9=RID 10=APPLICATION 11=METADATA 12=AUTONAMEDB 13=HOBT 14=ALLOCATION_UNIT |
57 |
Sì |
Vedere anche