Condividi tramite


Classe Lock:Acquired Event

Si applica a: SQL Server 2016 (13.x) e versioni successive Azure SQL Database AzureSQL Managed InstanceSQL database in Microsoft Fabric

La classe di evento Lock:Acquired indica che è stata ottenuta l'acquisizione di un blocco su una risorsa, ad esempio una pagina di dati.

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 conservati per lunghi periodi di tempo potrebbero causare problemi di contesa e devono essere esaminati. Ad esempio, è possibile che un'applicazione acquisisca i blocchi sulle righe di una tabella e quindi rimanga in attesa dell'input utente. L'attesa dell'input utente può essere prolungata e pertanto bloccare altri utenti. In tal caso, sarà necessario 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'input utente.

Colonne di dati della classe di evento Lock:Acquired

Nome colonna di dati Tipo di dati Descrizione ID colonna Filtrabile
Nome dell'Applicazione 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 e non con il nome visualizzato del programma. 10
BigintData1 bigint ID partizione se la risorsa di blocco è partizionata. 52
BinaryData Immagine Identificatore della risorsa blocco. 2
ClientProcessID Int ID assegnato dal computer host al processo in cui è in esecuzione l'applicazione client. Questa colonna di dati viene popolata se tramite il client viene indicato l'ID del processo client. 9
DatabaseID (identificativo del database) Int ID del database in cui è stato acquisito il blocco. SQL Server Profiler visualizza il nome del database se la colonna di dati ServerName è acquisita nella traccia e il server è disponibile. Determinare il valore per un database utilizzando la funzione DB_ID. 3
Durata bigint Intervallo di tempo (in microsecondi) tra il momento in cui il blocco è stato acquisito e l'ora in cui il blocco è stato rilasciato o annullato. 13
Ora di Fine datetime Ora di fine dell'evento. 15
EventClass Int Tipo di evento = 24. 27 NO
Sequenza di eventi Int Sequenza di un determinato evento all'interno della richiesta. 51 NO
ID del Gruppo Int ID del gruppo del carico di lavoro in cui viene generato l'evento di Traccia SQL. 66
Nome dell'Host nvarchar Nome del computer in cui viene eseguito il client. Questa colonna di dati viene popolata se il client fornisce il nome host. Per determinare il nome host, usare la funzione HOST_NAME . 8
IntegerData2 Int Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future. 55
IsSystem Int Indica se l'evento è stato generato per un processo di sistema o un processo utente. 1 = sistema, 0 = utente. 60
Nome utente nvarchar Nome dell'account di accesso dell'utente (account di accesso di sicurezza di SQL Server o credenziali di accesso di Windows sotto forma di DOMINIO\nomeutente). 11
ID di accesso Immagine ID di sicurezza (SID) dell'utente connesso. È possibile trovare queste informazioni nella vista del sys.server_principals catalogo. Il SID è univoco per ogni account di accesso nel server. 41
Modalità Int Modalità risultante dopo l'acquisizione 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 condiviso (LCK_M_S)
4=Blocco di aggiornamento (LCK_M_U)
5=Blocco esclusivo (LCK_M_X)
6=Blocco condiviso 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=Inserimento intervallo NULL chiavi (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
NomeDelDominioNT nvarchar Dominio Windows di appartenenza dell'utente. 7
NTUserName nvarchar Nome utente di Windows. 6
ID dell'oggetto Int ID dell'oggetto sul quale è stato acquisito il blocco, se disponibile e applicabile. 22
ObjectID2 bigint ID dell'entità o dell'oggetto correlato, se disponibile e applicabile. 56
ID Proprietario Int 1=TRANSAZIONE

2=Cursore
3=SESSIONE
4=SPAZIO_DI_LAVORO_PER_TRANSAZIONI_CONDIVISE
5=SPAZIO_DI_LAVORO_PER_TRANSAZIONI_ESCLUSIVE
58
RequestID Int ID della richiesta contenente l'istruzione. 49
Nome del Server 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 ci si connette a SQL Server usando Login1 ed eseguire un'istruzione come Login2, SessionLoginName mostra Login1 e LoginName mostra Login2. In questa colonna vengono visualizzati sia gli account di accesso di SQL Server che di Windows. 64
Sistema Pubblico di Identità Digitale (SPID) Int ID della sessione in cui si è verificato l'evento. 12
Ora di Inizio datetime Ora di inizio dell'evento, se disponibile. 14
Dati di testo ntext Valore di testo che dipende dal tipo di blocco acquisito. Si tratta dello stesso valore della colonna resource_description in sys.dm_tran_locks 1
TransactionID bigint ID della transazione assegnato dal sistema. 4
Type Int 1=NULL_RESOURCE

2=DATABASE
3=FILE
5=OGGETTO
6=PAGINA
7=CHIAVE
8=ESTENSIONE
9=RID
10=APPLICAZIONE
11=METADATA
12=AUTONAMEDB
13=HOBT
14=UNITÀ_DI_ASSEGNAZIONE
57