Partilhar via


Classe de evento Lock:Timeout

Aplica-se a: SQL Server

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á segurando uma fechadura de 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 uma duração de 0 geralmente são o resultado de investigações de bloqueios internos e não são necessariamente a indicação de um problema. O evento Lock:Timeout (tempo limite > 0) pode ser usado para ignorar tempos limite com uma 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 imagem 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 para 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 Hora 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. Não há 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 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 Sim
LoginSid imagem 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 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 mostra Login2. Esta 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
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 Sim

Confira também

sp_trace_setevent (Transact-SQL)
Lock:Timeout (tempo limite > 0) Classe de evento
sys.dm_tran_locks (Transact-SQL)