Compartir a través de


Lock:Timeout, clase de eventos

La clase de eventos Lock:Timeout indica que una solicitud de bloqueo de un recurso, como una página, ha agotado el tiempo de espera porque otra transacción mantiene un bloqueo que impide el acceso al recurso necesario. El tiempo de espera viene determinado por la función del sistema @@LOCK_TIMEOUT y se puede establecer con la instrucción SET LOCK_TIMEOUT.

Utilice la clase de evento "Lock:Timeout" para monitorizar cuándo se producen condiciones de tiempo de espera. Esta información es útil para determinar si los tiempos de espera afectan significativamente al rendimiento de la aplicación y qué objetos están implicados. Puede examinar el código de aplicación que modifica estos objetos para determinar si se pueden realizar cambios para minimizar los tiempos de espera.

Lock:Los eventos de tiempo de espera con una duración de 0 suelen ser el resultado de sondeos de bloqueo internos y no son necesariamente una indicación de un problema. El evento Lock:Timeout (tiempo de espera > 0) se puede usar para omitir los tiempos de espera con una duración de 0.

Columnas de datos de la clase de eventos Lock:Timeout

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 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
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 Identificador de la base de datos en la que se agota el tiempo de espera del 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
Nombre de la base de datos nvarchar Nombre de la base de datos en la que se agota el tiempo de espera. 35
Duración bigint Cantidad de tiempo (en microsegundos) entre el momento en que se emitió la solicitud de bloqueo y se agotó el tiempo de espera del bloqueo. 13
Hora de finalización datetime Hora de finalización del evento. 15
EventClass int Tipo de evento = 27. 27 No
Secuencia de Eventos int Secuencia de un evento determinado dentro 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 Microsoft 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 del tiempo de espera.

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 cuyo tiempo de espera expiró, si está disponible y es 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; mientras 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 El valor de texto depende del tipo de bloqueo que se adquirió cuando se agotó el tiempo de espera. 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

sp_trace_establecer_evento (Transact-SQL)
Lock:Timeout (timeout > 0) (clase de eventos)
sys.dm_tran_locks (Transact-SQL)