Classe de evento Lock:Deadlock

A classe de evento Lock:Deadlock é produzida quando é cancelada uma tentativa para adquirir um bloqueio, porque a tentativa fazia parte de um deadlock e foi escolhida como a vítima de deadlock.

Use a classe de evento Lock:Deadlock para monitorar quando ocorrer deadlock e quais os objetos envolvidos. Você pode usar essas informações para determinar se os deadlocks estão afetando significativamente o desempenho de seu aplicativo. Em seguida, é possível examinar o código do aplicativo para determinar se é possível fazer alterações para minimizar os deadlock.

Colunas de dados de classe de evento Lock:Deadlock

Nome da coluna de dados Tipo de dados Description ID da coluna Filtrável
ApplicationName nvarchar Nome do aplicativo cliente que criou a conexão com uma instância do SQL Server. Essa coluna é populada com os valores passados pelo aplicativo e não com o nome exibido do programa. 10 Yes
BinaryData image Identificador de recurso bloqueado. 2 Yes
ClientProcessID int ID atribuída pelo computador host ao processo em que o aplicativo cliente está sendo executado. Essa coluna de dados será populada se a ID do processo do cliente for fornecida pelo cliente. 9 Yes
ID do Banco de Dados int ID do banco de dados no qual o bloqueio estava sendo adquirido. O SQL Server Profiler exibirá o nome do banco de dados se a coluna de dados ServerName for capturada no rastreamento e o servidor estiver disponível. Determine o valor para um banco de dados usando a função DB_ID. 3 Yes
DatabaseName nvarchar Nome do banco de dados no qual o bloqueio estava sendo adquirido. 35 Yes
Duration bigint Tempo (em microssegundos) entre a hora em que a solicitação de deadlock foi emitida e a hora em que ocorreu o deadlock. 13 Yes
EndTime datetime Hora em que o deadlock terminou. 15 Yes
EventClass int Tipo de evento = 25. 27 Não
Sequência de Eventos int A sequência de determinado evento dentro da solicitação. 51 Não
ID do Grupo int ID do grupo de carga de trabalho no qual o evento de Rastreamento do SQL dispara. 66 Yes
nome do host nvarchar Nome do computador no qual o cliente está sendo executado. Essa coluna de dados será populada se o cliente fornecer o nome do host. Para determinar o nome do host, use a função HOST_NAME . 8 Yes
IntegerData int Número de deadlock. São atribuídos números, começando com 0 quando o servidor é iniciado, incrementados para cada deadlock. 25 Yes
DadosInteiros2 int Identificado apenas para fins informativos. Sem suporte. A compatibilidade futura não está garantida. 55 Yes
IsSystem int Indica se o evento ocorreu em um processo do sistema ou do usuário. 1 = sistema, 0 = usuário. 60 Yes
Nome de Usuário nvarchar Nome do logon do usuário (logon de segurança do SQL Server ou as credenciais de logon do Microsoft Windows na forma de DOMAIN\username). 11 Yes
LoginSid image Número SID (identificação de segurança) do usuário que fez logon. Você pode encontrar essas informações na exibição de catálogo sys.server_principals. Cada SID é exclusivo para cada logon no servidor. 41 Yes
Mode int O modo resultante depois do deadlock.

0=NULL - Compatível com todos os outros modos de bloqueio (LCK_M_NL)

1=Bloqueio de estabilidade do esquema (LCK_M_SCH_S)

2=Bloqueio de modificação de esquema (LCK_M_SCH_M)

3=Bloqueio compartilhado (LCK_M_S)

4=Bloqueio de atualização (LCK_M_U)

5=Bloqueio exclusivo (LCK_M_X)

6=Bloqueio de tentativa compartilhada (LCK_M_IS)

7=Bloqueio de atualização da tentativa (LCK_M_IU)

8=Bloqueio exclusivo da tentativa (LCK_M_IX)

9=Compartilhado com tentativa de atualizar (LCK_M_SIU)

10=Compartilhado com tentativa exclusiva (LCK_M_SIX)

11=Atualizar com tentativa exclusiva (LCK_M_UIX)

12=Bloqueio de atualização em massa (LCK_M_BU)

13=Intervalo de chaves compartilhado/compartilhado (LCK_M_RS_S)

14=Intervalo de chaves compartilhado/atualizar (LCK_M_RS_U)

15=Inserção de Intervalo de Chaves NULL (LCK_M_RI_NL)

16=Inserção de Intervalo de Chaves Compartilhado (LCK_M_RI_S)

17=Atualização de Inserção de Intervalo de Chaves (LCK_M_RI_S)

18=Inserção de intervalo de chaves exclusivo (LCK_M_RI_X)

19=Intervalo de chaves compartilhado exclusivo (LCK_M_RX_S)

20=Atualização de intervalo de chaves exclusivo (LCK_M_RX_U)

21=Intervalo de chaves exclusivo exclusivo (LCK_M_RX_X)
32 Yes
Nome do Domínio NT nvarchar O domínio do Windows ao qual o usuário pertence. 7 Yes
NTNomeDeUsuário nvarchar Nome do usuário do Windows. 6 Yes
ID do objeto int Identificação do objeto em contenção, se disponível e aplicável. 22 Yes
IdentificadorDeObjeto2 bigint Identificação do objeto ou entidade relacionada, se disponível e aplicável. 56 Yes
ID do Proprietário int 1=TRANSAÇÃO

2=CURSOR

3=SESSÃO

4=ESPAÇO_DE_TRABALHO_DE_TRANSAÇÃO_COMPARTILHADO

5=ESPAÇO_DE_TRABALHO_TRANSAÇÃO_EXCLUSIVA
58 Yes
RequestID int O ID da solicitação que contém a instrução. 49 Yes
Nome do Servidor nvarchar Nome da instância do SQL Server que está sendo rastreada. 26 Não
SessionLoginName nvarchar Nome de logon do usuário que originou a sessão. Por exemplo, se você se conectar ao SQL Server usando Login1 e executar uma instrução como Login2, SessionLoginName mostrará Login1 e LoginName mostrará Login2. Esta coluna exibe logons do SQL Server e do Windows. 64 Yes
SPID (Sistema de Identidade Público Digital) int Identificação da sessão em que ocorreu o evento. 12 Yes
StartTime datetime Horário de início do evento, quando disponível. 14 Yes
TextData ntext Valor de texto dependente do tipo de bloqueio que estava sendo adquirido. 1 Yes
TransactionID bigint ID da transação atribuída pelo sistema. 4 Yes
Tipo int 1=NULL_RESOURCE

2=DATABASE

3=ARQUIVO

5=OBJETO

6=PÁGINA

7=CHAVE

8=EXTENSÃO

9=RID

10=APLICAÇÃO

11=METADADOS

12=AUTONAMEDB

13=HOBT

14=UNIDADE_DE_ALOCACAO
57 Yes

Consulte Também

sp_trace_setevent (Transact-SQL)
sys.dm_tran_locks (Transact-SQL)