Compartir a través de


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

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 llena si el cliente proporciona el Id. del proceso del cliente.

9

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

DatabaseName

nvarchar

Nombre de la base de datos en la que ha agotado el tiempo de espera.

35

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

EndTime

datetime

Hora de finalización del evento.

15

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

IntegerData2

int

Reservado para uso futuro.

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

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

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

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

NTDomainName

nvarchar

Dominio de Windows al que pertenece el usuario.

7

NTUserName

nvarchar

Nombre de usuario de Windows.

6

ObjectID

int

Id. del objeto que ha superado el tiempo de espera, si está disponible y es aplicable.

22

ObjectID2

bigint

Id. del objeto o entidad relacionado, si está disponible y es aplicable.

56

OwnerID

int

1=TRANSACTION

2=CURSOR

3=SESSION

4=SHARED_TRANSACTION_WORKSPACE

5=EXCLUSIVE_TRANSACTION_WORKSPACE

58

RequestID

int

Id. de la solicitud que contiene la instrucción.

49

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

SPID

int

Id. de la sesión en la que se produjo el evento.

12

StartTime

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 se adquiría cuando se agotó el tiempo de espera.

1

TransactionID

bigint

Id. de la transacción asignado por el sistema.

4

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

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

Ayuda e información

Obtener ayuda sobre SQL Server 2005