Partilhar via


Lock:Deadlock Classe de evento

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores Azure SQL Database AzureSQL Managed InstanceSQL database in Microsoft Fabric

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

Use a classe de evento Lock:Deadlock para monitorizar quando ocorrem deadlocks e quais os objetos envolvidos. Pode usar esta informação para determinar se os deadlocks estão a afetar significativamente o desempenho da sua aplicação. Pode então examinar o código da aplicação para determinar se pode fazer alterações para minimizar deadlocks.

Lock:Colunas de Dados da Classe de Evento de 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. Esta coluna é preenchida com os valores passados pelo aplicativo em vez do nome exibido do programa. 10 Yes
BinaryData image Bloquear identificador de recurso. 2 Yes
ClientProcessID int ID atribuído pelo computador host ao processo em que o aplicativo cliente está sendo executado. Esta coluna de dados será preenchida se a ID do processo do cliente for fornecida pelo cliente. 9 Yes
Base de Dados int ID da base de dados onde a fechadura estava a ser adquirida. 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 de um banco de dados usando a função DB_ID. 3 Yes
DatabaseName nvarchar Nome da base de dados onde a fechadura estava a ser adquirida. 35 Yes
Duração bigint Quantidade de tempo (em microssegundos) entre o momento em que o pedido de bloqueio foi emitido e o momento em que o bloqueio ocorreu. 13 Yes
EndTime datetime Tempo em que o impasse terminou. 15 Yes
EventClass int Tipo de evento = 25. 27 Não
Sequência de Eventos int A sequência de um determinado evento dentro do pedido. 51 Não
GroupID int ID do grupo de carga de trabalho onde o evento Rastreamento SQL é acionado. 66 Yes
Nome do Anfitrião nvarchar Nome do computador no qual o cliente está sendo executado. Esta coluna de dados é preenchida se o cliente fornecer o nome do anfitrião. Para determinar o nome do anfitrião, use a função HOST_NAME. 8 Yes
IntegerData int Número de impasse. Os números são atribuídos a partir de 0 quando o servidor é iniciado e são incrementados para cada bloqueio. 25 Yes
IntegerData2 int Identificado apenas para fins informativos. Não suportado. A compatibilidade futura não é garantida. 55 Yes
IsSystem int Indica se o evento ocorreu em um processo do sistema ou em um processo do usuário. 1 = sistema, 0 = utilizador. 60 Yes
Nome de login nvarchar Nome do login do utilizador (seja login de segurança SQL Server ou credenciais de login do Microsoft Windows na forma de DOMÍNIO\nome de utilizador). 11 Yes
LoginSid image Número de identificação de segurança (SID) do utilizador com sessão iniciada. Pode encontrar esta informação na vista de catálogo sys.server_principals. Cada SID é único para cada login no servidor. 41 Yes
Mode int O modo resultante após o impasse.

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

1=Bloqueio de Estabilidade de Esquema (LCK_M_SCH_S)

2=Bloqueio de Modificação de Esquema (LCK_M_SCH_M)

3=Fechadura Partilhada (LCK_M_S)

4=Atualizar Bloqueio (LCK_M_U)

5=Fechadura Exclusiva (LCK_M_X)

6=Fechadura Partilhada por Intenção (LCK_M_IS)

7=Bloqueio de Atualização de Intenção (LCK_M_IU)

8=Bloqueio Exclusivo de Intenção (LCK_M_IX)

9=Partilhado com intenção de Atualizar (LCK_M_SIU)

10=Partilhado com Intenção Exclusivo (LCK_M_SIX)

11=Atualização com Intenção Exclusiva (LCK_M_UIX)

12=Bloqueio de Atualização em Massa (LCK_M_BU)

13=Gama de chaves Partilhada/Partilhada (LCK_M_RS_S)

14=Intervalo de chaves Partilhado/Atualização (LCK_M_RS_U)

15=Intervalo de Chaves Inserir NULL (LCK_M_RI_NL)

16=Inserir Intervalo de Chaves Partilhado (LCK_M_RI_S)

17=Atualização de Inserção de Gama de Chaves (LCK_M_RI_U)

18=Exclusivo de Inserção de Gama de Chaves (LCK_M_RI_X)

19=Intervalo de Chaves Partilhado Exclusivo (LCK_M_RX_S)

20=Atualização Exclusiva da Gama de Chaves (LCK_M_RX_U)

21=Key Range Exclusivo Exclusivo (LCK_M_RX_X)
32 Yes
NTDomainName nvarchar Domínio do Windows ao qual o usuário pertence. 7 Yes
NTUserName nvarchar Nome de usuário do Windows. 6 Yes
ID do objeto int ID do objeto em disputa, se disponível e aplicável. 22 Yes
ObjectID2 bigint ID do objeto ou entidade relacionada, se disponível e aplicável. 56 Yes
OwnerID int 1=TRANSAÇÃO

2=CURSOR

3=SESSÃO

4=SHARED_TRANSACTION_WORKSPACE

5=EXCLUSIVE_TRANSACTION_WORKSPACE
58 Yes
ID do Pedido int O ID do pedido que contém a declaraçã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 login do usuário que originou a sessão. Por exemplo, se se ligar ao SQL Server usando o Login1 e executar uma instrução como Login2, o SessionLoginName mostra o Login1 e o LoginName mostra o Login2. Esta coluna exibe os logons do SQL Server e do Windows. 64 Yes
SPID int ID da sessão em que o evento ocorreu. 12 Yes
StartTime datetime Hora em que o evento começou, quando disponível. 14 Yes
TextData ntext O valor do texto depende do tipo de fechadura que estava a ser adquirido. 1 Yes
ID da transação bigint ID atribuída pelo sistema da transação. 4 Yes
Tipo int 1=NULL_RESOURCE

2=BASE DE DADOS

3=FICHEIRO

5=OBJETO

6=PÁGINA

7=KEY

8=EXTENSÃO

9=RID

10=APLICAÇÃO

11=METADADOS

12=AUTONAMEDB

13=HOBT

14=ALLOCATION_UNIT
57 Yes

Ver também

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