Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server 2016 (13.x) e versões
posteriores Azure SQL Database
AzureSQL Managed Instance
SQL database in Microsoft Fabric
A classe de evento Lock:Timeout indica que um pedido de bloqueio num recurso, como uma página, esteve com tempo de expiração porque outra transação está a deter um bloqueio no recurso requerido. O time-out é determinado pela função @@LOCK_TIMEOUT sistema e pode ser definido com a instrução SET LOCK_TIMEOUT.
Use a classe de evento Lock:Timeout para monitorizar quando ocorrem condições de time-out. Esta informação é útil para determinar se os time-outs estão a afetar significativamente o desempenho da sua aplicação e quais os objetos envolvidos. Pode examinar o código da aplicação que modifica estes objetos para determinar se podem ser feitas alterações para minimizar os time-outs.
Lock:Eventos de timeout com duração 0 são frequentemente resultado de sondas internas de bloqueio e não são necessariamente uma indicação de um problema. O evento Lock:Timeout (timeout > 0) pode ser usado para ignorar tempos mortos com duração 0.
Lock:Colunas de Dados de Classe de Evento de Tempo Expirado
| 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 é preenchida se o cliente fornecer o ID do processo do cliente. | 9 | Yes |
| Base de Dados | int | ID da base de dados onde ocorreu o time-out do bloqueio. 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 ocorreu o time-out. | 35 | Yes |
| Duração | bigint | Quantidade de tempo (em microssegundos) entre o momento em que o pedido de bloqueio foi emitido e o tempo de expiração do bloqueio. | 13 | Yes |
| EndTime | datetime | Hora em que o evento terminou. | 15 | Yes |
| EventClass | int | Tipo de evento = 27. | 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 |
| 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 tempo morto. 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 que estava com tempo de expiração, 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 | 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; enquanto 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 de início do evento, se disponível. | 14 | Yes |
| TextData | ntext | O valor do texto depende do tipo de bloqueio que estava a ser adquirido quando ocorreu o time-out. | 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)
Bloqueio: Tempo limite (tempo limite > 0) Classe do Evento
sys.dm_tran_locks (Transact-SQL)