Share via


Classe de evento Lock:Timeout

A classe de evento Lock:Timeout indica que uma solicitação para um bloqueio em um recurso, como uma página, expirou porque outra transação está mantendo um bloqueio no recurso exigido. O tempo limite é determinado pela função de sistema @ @ LOCK_TIMEOUT e pode ser definido com a instrução SET LOCK_TIMEOUT.

Use a classe de evento Lock:Timeout para monitorar quando as condições de tempo limite acontecerem. Essas informações são úteis para determinar se os tempos limite estão afetando significativamente o desempenho de seu aplicativo, e quais são os objetos envolvidos. Você pode examinar o código do aplicativo que modifica esses objetos para determinar se podem ser efetuadas alterações para minimizar os intervalos.

Eventos Lock:Timeout com duração de 0 costumam ser o resultado de investigações de bloqueios internos e não são necessariamente a indicação de um problema. O evento Lock:Timeout (timeout > 0) pode ser usado para ignorar tempos limite com duração de 0.

Colunas de dados da classe de evento Lock:Timeout

Nome da coluna de dados

Tipo de dados

Descrição

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

Sim

BinaryData

image

Identificador de recurso bloqueado.

2

Sim

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 o cliente fornecer a ID de processo do cliente.

9

Sim

DatabaseID

int

ID do banco de dados no qual o intervalo de bloqueio ocorreu. 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

Sim

DatabaseName

nvarchar

Nome do banco de dados no qual o tempo limite aconteceu.

35

Sim

Duration

bigint

Quantia de tempo (em microssegundos) entre a hora em que a solicitação de bloqueio foi emitida e o bloqueio expirou.

13

Sim

EndTime

datetime

Horário em que o evento foi encerrado.

15

Sim

EventClass

int

Tipo de evento = 27.

27

Não

EventSequence

int

A sequência de determinado evento dentro da solicitação.

51

Não

GroupID

int

ID do grupo de carga de trabalho no qual o evento de Rastreamento do SQL dispara.

66

Sim

HostName

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

Sim

IntegerData2

int

Identificado apenas para fins informativos. Sem suporte. A compatibilidade futura não está garantida.

55

Sim

IsSystem

int

Indica se o evento ocorreu em um processo do sistema ou do usuário. 1 = sistema, 0 = usuário.

60

Sim

LoginName

nvarchar

Nome de logon do usuário (logon de segurança do SQL Server ou as credenciais de logon do Windows do Microsoft no formato DOMÍNIO/nomedousuário).

11

Sim

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 de cada logon no servidor.

41

Sim

Mode

int

O modo resultante depois do intervalo.

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

Sim

NTDomainName

nvarchar

O domínio do Windows ao qual o usuário pertence.

7

Sim

NTUserName

nvarchar

Nome do usuário do Windows.

6

Sim

ObjectID

int

Identificação do objeto que sofreu tempo limite, se disponível e aplicável.

22

Sim

ObjectID2

bigint

Identificação do objeto ou entidade relacionada, se disponível e aplicável.

56

Sim

OwnerID

int

1=TRANSACTION

2=CURSOR

3=SESSION

4=SHARED_TRANSACTION_WORKSPACE

5=EXCLUSIVE_TRANSACTION_WORKSPACE

58

Sim

RequestID

int

ID da solicitação que contém a instrução.

49

Sim

ServerName

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; enquanto LoginName mostrará Login2. Essa coluna exibe logons do SQL Server e do Windows.

64

Sim

SPID

int

Identificação da sessão em que ocorreu o evento.

12

Sim

StartTime

datetime

Hora de início do evento, se disponível.

14

Sim

TextData

ntext

Valor de texto dependente do tipo de bloqueio que estava sendo adquirido quando o tempo limite ocorreu.

1

Sim

TransactionID

bigint

ID da transação atribuída pelo sistema.

4

Sim

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

Sim

Consulte também

Referência

sp_trace_setevent (Transact-SQL)

Classe de evento Lock:Timeout (timeout > 0)

sys.dm_tran_locks (Transact-SQL)