Lock:Timeout (clase de evento)
La clase de evento Lock:Timeout indica que una solicitud de bloqueo de un recurso, como una página, ha agotado el tiempo de espera debido a que existía otra transacción que mantenía un bloqueo de cierre en el recurso necesario. El tiempo de espera está 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 supervisar cuándo se producen las condiciones de tiempo de espera. Esta información es útil para determinar si los tiempos de espera afectan al rendimiento de la aplicación de manera significativa 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.
Los eventos Lock:Timeout con una duración 0 son habitualmente resultado de sondas de bloqueo internas y no indican necesariamente que exista un problema. El evento Lock:Timeout (timeout > 0) se puede utilizar para omitir los tiempos de espera con una duración 0.
Columnas de datos de la clase de evento Lock:Timeout
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 SQL Server. Esta columna se llena con los valores que pasa la aplicación, en lugar de con el nombre que se muestra del programa. |
10 |
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 llena si el cliente proporciona el Id. del proceso del cliente. |
9 |
Sí |
DatabaseID |
int |
Identificador de la base de datos en la que se ha producido el tiempo de espera de bloqueo. El Analizador de SQL Server muestra el nombre de la base de datos si la columna de datos ServerName se ha capturado 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í |
DatabaseName |
nvarchar |
Nombre de la base de datos en la que ha agotado el tiempo de espera. |
35 |
Sí |
Duration |
bigint |
Tiempo (en microsegundos) entre el envío de la solicitud de bloqueo y la superación del tiempo de espera del mismo. |
13 |
Sí |
EndTime |
datetime |
Hora de finalización del evento. |
15 |
Sí |
EventClass |
int |
Tipo de evento = 27. |
27 |
No |
EventSequence |
int |
Secuencia de un evento determinado de la solicitud. |
51 |
No |
HostName |
nvarchar |
Nombre del equipo en el que se ejecuta el cliente. Esta columna de datos se llena si el cliente proporciona el nombre del host. Para determinar el nombre de 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 Microsoft Windows con el 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 syslogins de la base de datos master. Cada SID es exclusivo para cada inicio de sesión en el servidor. |
41 |
Sí |
Mode |
int |
Modo resultante después del tiempo de espera. 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 que ha superado el tiempo de espera, 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 mediante 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 tanto de SQL Server como de Windows. |
64 |
Sí |
SPID |
int |
Id. de la sesión en la que se produjo el evento. |
12 |
Sí |
StartTime |
datetime |
Hora a la que se inició el evento, si está disponible. |
14 |
Sí |
TextData |
ntext |
Valor de texto que depende del tipo de bloqueo que se adquiría cuando se agotó el tiempo de espera. |
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:Timeout (timeout > 0), 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