Compartir a través de


Lock:Deadlock (clase de evento)

La clase de evento Lock:Deadlock se produce cuando se cancela un intento de obtener un bloqueo porque dicho intento forma parte de un interbloqueo y se ha elegido como sujeto del interbloqueo.

Utilice la clase de evento Lock:Deadlock para supervisar el momento en que se generan los interbloqueos y los objetos implicados. Puede utilizar esta información para determinar si los interbloqueos afectan de forma significativa al rendimiento de la aplicación. De este modo, puede examinar el código de la aplicación para determinar si puede realizar cambios para minimizar los interbloqueos.

Columnas de datos de la clase de evento Lock:Deadlock

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 adquirido 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. 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 que se adquiere el bloqueo.

35

Duration

bigint

Tiempo (en microsegundos) transcurrido entre la hora de emisión de la solicitud de bloqueo y la hora en la que se ha producido el interbloqueo.

13

EndTime

datetime

Hora a la que finalizó el interbloqueo.

15

EventClass

int

Tipo de evento = 25.

27

No

EventSequence

int

Secuencia de un evento determinado en la solicitud.

51

No

GroupID

int

Id. del grupo de carga de trabajo donde se activa el evento de seguimiento SQL.

66

HostName

nvarchar

Nombre del equipo en el que se está ejecutando 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

IntegerData

int

Número de interbloqueo. Los números se asignan empezando desde 0 cuando se inicia el servidor y se incrementan para cada interbloqueo.

25

IntegerData2

int

Solamente se identifica con fines informativos. No compatible. 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

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 buscar esta información en la vista de catálogo sys.server_principals. Cada SID es exclusivo para cada inicio de sesión en el servidor.

41

Mode

int

El modo resultante después del interbloqueo.

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 en conflicto, 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 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 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 dependiente del tipo de bloqueo que se ha adquirido.

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