Compartir a través de


Lock:Acquired, clase de eventos

La clase Lock:Acquiredevent indica que se ha conseguido adquirir un bloqueo sobre un recurso, como una página de datos.

Las clases de eventos Lock:Acquired y Lock:Released se pueden usar para supervisar cuándo se bloquean los objetos, el tipo de bloqueos tomados y durante cuánto tiempo se conservan los bloqueos. Los bloqueos retenidos durante largos períodos de tiempo pueden provocar problemas de contención y deben investigarse. Por ejemplo, una aplicación puede adquirir bloqueos en filas de una tabla y, a continuación, esperar la entrada del usuario. Dado que la entrada del usuario puede tardar mucho tiempo en producirse, los bloqueos pueden bloquear a otros usuarios. En este caso, la aplicación debe rediseñarse para realizar solicitudes de bloqueo solo cuando sea necesario y no requerir la entrada del usuario cuando se hayan adquirido bloqueos.

Columnas de datos de la clase de eventos Lock:Acquired

Nombre de columna de datos Tipo de dato Descripción Identificador de columna Filtrable
Nombre de la Aplicación nvarchar Nombre de la aplicación cliente que creó 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 para el programa. 10
BigintData1 bigint Id. de partición si el recurso de bloqueo está particionado. 52
BinaryData image Identificador del recurso de bloqueo. 2
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 identificador de proceso del cliente. 9
ID de Base de Datos int ID de la base de datos en la que se adquirió el bloqueo. SQL Server Profiler muestra el nombre de la base de datos si se captura la columna de datos ServerName en el seguimiento y el servidor está disponible. Determina el valor de una base de datos mediante la función DB_ID. 3
Duración bigint Cantidad de tiempo (en microsegundos) entre el momento en que se emitió la solicitud de bloqueo y la hora en que se adquirió el bloqueo. 13
Hora de finalización datetime Hora de finalización del evento. 15
EventClass int Tipo de evento = 24. 27 No
Secuencia de Eventos int Secuencia de un evento determinado de la solicitud. 51 No
ID de Grupo int Id. del grupo de carga de trabajo donde se activa el evento de Seguimiento de SQL. 66
Nombre del host 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 averiguar el nombre de host, use la función HOST_NAME . 8
IntegerData2 int Solamente se identifica con fines informativos. No está soportado. La compatibilidad con versiones posteriores no está garantizada. 55
IsSystem int Indica si el evento ha ocurrido en un proceso del sistema o en un proceso de usuario. 1 = sistema, 0 = usuario. 60
NombreDeUsuario nvarchar Nombre del inicio de sesión del usuario (inicio de sesión de seguridad de SQL Server o las credenciales de inicio de sesión de Windows en forma de DOMINIO\nombredeusuario). 11
LoginSid image SID (número de identificación de seguridad) del usuario que ha iniciado la sesión. Puede buscar esta información en la vista de catálogo sys.server_principals. Cada SID es único para cada inicio de sesión en el servidor. 41
Modo int Modo resultante después de haberse adquirido el bloqueo.

0=NULL: compatible con todos los demás modos de bloqueo (LCK_M_NL)

1=Bloqueo de estabilidad del esquema (LCK_M_SCH_S)

2=Bloqueo de modificación del esquema (LCK_M_SCH_M)

3=Bloqueo compartido (LCK_M_S)

4=Bloqueo de actualización (LCK_M_U)

5=Bloqueo exclusivo (LCK_M_X)

6=Bloqueo compartido de intención (LCK_M_IS)

7=Bloqueo de actualización de intención (LCK_M_IU)

8=Bloqueo exclusivo de intención (LCK_M_IX)

9=Compartido con el propósito de actualizar (LCK_M_SIU)

10=Compartido con intención exclusiva (LCK_M_SIX)

11=Actualización con intención exclusiva (LCK_M_UIX)

12=Bloqueo de actualización en masa (LCK_M_BU)

13=Rango de claves compartido/compartido (LCK_M_RS_S)

14=Rango de claves compartido/actualización (LCK_M_RS_U)

15=Inserción de intervalo de claves NULL (LCK_M_RI_NL)

16=Inserción de intervalo de claves compartido (LCK_M_RI_S)

17=Actualización de inserción de intervalo de claves (LCK_M_RI_U)

18=Inserción exclusiva de rango de clave (LCK_M_RI_X)

19=Intervalo de claves exclusivo compartido (LCK_M_RX_S)

20=Actualización exclusiva de rango de claves (LCK_M_RX_U)

21=Exclusivo exclusivo del rango de claves (LCK_M_RX_X)
32
Nombre de Dominio NT nvarchar Dominio de Windows al que pertenece el usuario. 7
NTUserName (Nombre de usuario NT) nvarchar Nombre del usuario de Windows. 6
ID del Objeto int Identificador del objeto en el que se adquirió el bloqueo, si está disponible y aplicable. 22
ObjectID2 bigint Identificador del objeto o entidad relacionado, si está disponible y aplicable. 56
ID del Propietario int 1=TRANSACCIÓN

2=CURSOR

3=SESIÓN

4=ESPACIO_DE_TRABAJO_DE_TRANSACCIONES_COMPARTIDAS

5=ESPACIO_DE_TRABAJO_EXCLUSIVO_DE_TRANSACCIONES
58
RequestID int Identificador de la solicitud que contiene la instrucción. 49
NombreDelServidor nvarchar Nombre de la instancia de SQL Server que se realiza el 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 mediante Login1 y ejecuta una instrucción como Login2, SessionLoginName muestra Login1 y LoginName muestra Login2. En esta columna se muestran los inicios de sesión de SQL Server y Windows. 64
SPID (Servicios de Identidad Digital) int Identificador de la sesión en la que se produjo el evento. 12
HoraDeInicio datetime Hora a la que se inició el evento, si está disponible. 14
TextData ntext Valor de texto que depende del tipo de bloqueo que haya sido adquirido. Este es el mismo valor que la columna resource_description de sys.dm_tran_locks. 1
TransactionID bigint Id. de la transacción asignado por el sistema. 4
Tipo int 1=NULL_RESOURCE

2=BASE DE DATOS

3=ARCHIVO

5=OBJETO

6=PÁGINA

7=KEY

8=EXTENSIÓN

9=RID

10=APLICACIÓN

11=METADATOS

12=AUTONAMEDB

13=HOBT

14=UNIDAD_DE_ASIGNACIÓN
57

Véase también

Lock:Released (clase de eventos)
sp_trace_setevent (Transact-SQL)
sys.dm_tran_locks (Transact-SQL)