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)