Lock:Deadlock (clase de eventos)
Se aplica a: SQL Server
La clase de eventos 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 eventos 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 eventos Lock:Deadlock
Nombre de columna de datos | Tipo de datos | Descripción | Identificador de columna | Filtrable |
---|---|---|---|---|
ApplicationName | 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 | 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 rellena si el cliente proporciona su identificador de proceso. | 9 | Sí |
DatabaseID | int | Id. de la base de datos en que se adquiere 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 | Sí |
DatabaseName | nvarchar | Nombre de la base de datos en que se adquiere el bloqueo. | 35 | Sí |
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 | Sí |
EndTime | datetime | Hora a la que finalizó el interbloqueo. | 15 | Sí |
EventClass | int | Tipo de evento = 25. | 27 | No |
EventSequence | int | Secuencia de un evento determinado dentro de la solicitud. | 51 | No |
GroupID | int | Id. del grupo de carga de trabajo donde se activa el evento de Seguimiento de SQL. | 66 | Sí |
HostName | 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 | Sí |
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 | Sí |
IntegerData2 | int | Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada. | 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 las credenciales de inicio de sesión de Microsoft Windows en forma de DOMINIO\nombredeusuario). | 11 | Sí |
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 | Sí |
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 | Sí |
NTDomainName | nvarchar | Dominio de Windows al que pertenece el usuario. | 7 | Sí |
NTUserName | nvarchar | Nombre del usuario de Windows. | 6 | Sí |
ObjectID | int | Identificador del objeto en contención, 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í |
nombreDeServidor | 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 | Sí |
SPID | int | Identificador 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 dependiente del tipo de bloqueo que se ha adquirido. | 1 | Sí |
TransactionID | bigint | Id. de la transacción asignado por el sistema. | 4 | Sí |
Tipo | 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í |
Consulte también
sp_trace_setevent (Transact-SQL)
sys.dm_tran_locks (Transact-SQL)