Lock:Acquired (clase de evento)
La clase de evento Lock:Acquired indica que se ha logrado la adquisición de un bloqueo en un recurso, por ejemplo una página de datos.
Las clases de eventos Lock:Acquired y Lock:Released se pueden utilizar para supervisar cuándo se bloquean objetos, el tipo de bloqueos obtenidos y cuánto tiempo se han mantenido éstos. Los bloqueos mantenidos durante largos períodos pueden causar problemas de contención y se deben investigar. Por ejemplo, una aplicación puede estar adquiriendo bloqueos en filas de una tabla y esperar después a que se porduzca una entrada del usuario. Puesto que la introducción de datos puede tardar bastante tiempo, los bloqueos pueden bloquear a otros usuarios. En tal caso, es necesario volver a diseñar la aplicación para que realice solicitudes de bloqueo sólo cuando sea preciso y no solicite que el una entrada del usuario cuando se han adquirido bloqueos.
Columnas de datos de la clase de evento Lock:Acquired
Nombre de la columna de datos | Tipo de datos | Descripción | Id. de columna | Filtrable |
---|---|---|---|---|
ApplicationName |
nvarchar |
Nombre de la aplicación cliente que ha creado la conexión a una instancia de Microsoft SQL Server. Esta columna se rellena con los valores que pasa la aplicación, en lugar de con el nombre que se muestra del programa. |
10 |
Sí |
BigintData1 |
bigint |
Id. de la partición si el recurso de bloqueo tiene particiones. |
52 |
Sí |
BinaryData |
image |
Identificador del recurso de bloqueo. |
2 |
Sí |
ClientProcessID |
int |
Identificador que el equipo host asigna al proceso en el que se ejecuta la aplicación cliente. Esta columna de datos se rellena si el cliente proporciona el Id. de proceso del cliente. |
9 |
Sí |
DatabaseID |
int |
Id. de la base de datos en la que se ha adquirido el bloqueo. El Analizador de SQL Server muestra el nombre de la base de datos si se captura la columna de datos ServerName en la traza y el servidor está disponible. El valor para una base de datos se puede determinar mediante la función DB_ID. |
3 |
Sí |
Duration |
bigint |
Tiempo (en microsegundos) entre el envío de la solicitud de bloqueo y la adquisición del mismo. |
13 |
Sí |
EndTime |
datetime |
Hora a la que finalizó el evento. |
15 |
Sí |
EventClass |
int |
Tipo de evento = 24. |
27 |
No |
EventSequence |
int |
Secuencia de un determinado evento dentro de la solicitud. |
51 |
No |
HostName |
nvarchar |
Nombre del equipo en el que se está ejecutando el cliente. Esta columna de datos se rellena si el cliente proporciona el nombre del host. Para determinar el nombre del host, utilice la función HOST_NAME. |
8 |
Sí |
IntegerData2 |
int |
Reservado para uso futuro. |
55 |
Sí |
IsSystem |
int |
Indica si el evento ha ocurrido en un proceso del sistema o en un proceso de usuario. 1 = sistema, 0 = usuario. |
60 |
Sí |
LoginName |
nvarchar |
Nombre del inicio de sesión del usuario (inicio de sesión de seguridad de SQL Server o credenciales de inicio de sesión de Windows en formato DOMINIO\nombreDeUsuario). |
11 |
Sí |
LoginSid |
image |
SID (número de identificación de seguridad) del usuario que ha iniciado la sesión. Puede encontrar esta información en la tabla sys.sysusers de la base de datos master. Cada SID es único para cada inicio de sesión en el servidor. |
41 |
Sí |
Mode |
int |
Modo resultante tras adquirir el bloqueo. 0=NULL: Compatible con los demás modos de bloqueo (LCK_M_NL) 1=Bloqueo Estabilidad del esquema (LCK_M_SCH_S) 2=Bloqueo Modificación del esquema (LCK_M_SCH_M) 3=Bloqueo Compartido (LCK_M_S) 4=Bloqueo Actualizar (LCK_M_U) 5=Bloqueo Exclusivo (LCK_M_X) 6=Bloqueo Intención compartida (LCK_M_IS) 7=Bloqueo Actualizar intención (LCK_M_IU) 8=Bloqueo Intención exclusiva (LCK_M_IX) 9=Actualizar intención compartida (LCK_M_SIU) 10=Intención compartida exclusiva (LCK_M_SIX) 11=Actualizar intención exclusiva (LCK_M_UIX) 12=Bloqueo Actualización masiva (LCK_M_BU) 13=Intervalo de claves compartido/compartido (LCK_M_RS_S) 14=Intervalo de claves compartido/actualización (LCK_M_RS_U) 15=Intervalo de claves de inserción NULL (LCK_M_RI_NL) 16=Intervalo de claves de inserción compartido (LCK_M_RI_S) 17=Intervalo de claves de inserción de actualización (LCK_M_RI_U) 18=Intervalo de claves de inserción exclusivo (LCK_M_RI_X) 19=Intervalo de claves exclusivo compartido (LCK_M_RX_S) 20=Intervalo de claves exclusivo de actualización (LCK_M_RX_U) 21=Intervalo de claves exclusivo exclusivo (LCK_M_RX_X) |
32 |
Sí |
NTDomainName |
nvarchar |
Dominio de Windows al que pertenece el usuario. |
7 |
Sí |
NTUserName |
nvarchar |
Nombre de usuario de Windows. |
6 |
Sí |
ObjectID |
int |
Id. del objeto en el que se ha adquirido el bloqueo, si está disponible y es aplicable. |
22 |
Sí |
ObjectID2 |
bigint |
Id. del objeto o entidad relacionado, si está disponible y es aplicable. |
56 |
Sí |
OwnerID |
int |
1=TRANSACTION 2=CURSOR 3=SESSION 4=SHARED_TRANSACTION_WORKSPACE 5=EXCLUSIVE_TRANSACTION_WORKSPACE |
58 |
Sí |
RequestID |
int |
Id. de la solicitud que contiene la instrucción. |
49 |
Sí |
ServerName |
nvarchar |
Nombre de la instancia de SQL Server de la que se realiza un seguimiento. |
26 |
No |
SessionLoginName |
nvarchar |
Nombre de inicio de sesión del usuario que originó la sesión. Por ejemplo, si se conecta a SQL Server usando inicioDeSesión1 y ejecuta una instrucción como inicioDeSesión2, SessionLoginName muestra inicioDeSesión1 y LoginName muestra inicioDeSesión2. En esta columna se muestran los inicios de sesión de SQL Server y de Windows. |
64 |
Sí |
SPID |
int |
Id. de la sesión en la que se ha producido el evento. |
12 |
Sí |
StartTime |
datetime |
Hora a la que se inició el evento, si está disponible. |
14 |
Sí |
TextData |
ntext |
Valor de texto dependiente del tipo de bloqueo que se ha adquirido. Este valor es el mismo que el de la columna resource_description de sys.dm_tran_locks. |
1 |
Sí |
TransactionID |
bigint |
Id. de la transacción asignado por el 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í |
Vea también
Referencia
Lock:Released (clase de evento)
Conceptos
Bloquear el motor de base de datos
Compatibilidad de bloqueos (motor de base de datos)
Otros recursos
Supervisar eventos
sp_trace_setevent (Transact-SQL)
sys.dm_tran_locks