Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A classe de evento Lock:Escalation indica que um bloqueio refinado foi convertido em um bloqueio granularizado; por exemplo, um bloqueio de linha que é convertido em um bloqueio de objeto. A classe de evento de escalonamento é ID do Evento 60.
Colunas de dados da classe de evento Lock:Escalation
| 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 |
| 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 onde o bloqueio foi obtido. 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 escalonamento ocorreu. | 35 | Sim |
| EventClass | int |
Tipo de evento = 60. | 27 | Não |
| EventSubClass | int |
Causa do aumento de bloqueio: 0 – LOCK_THRESHOLD indica que a instrução excedeu o limite de bloqueio. 1 – MEMORY_THRESHOLD indica que a instrução excedeu o limite de memória. |
21 | Sim |
| EventSequence | int |
Sequência de um determinado evento na 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 |
| IntegerData | int |
Contagem de bloqueios HoBT. O número de bloqueios para o HoBT no momento do escalonamento de bloqueio. | vinte e cinco | Sim |
| IntegerData2 | int |
Contagem de bloqueio escalonada. O número total de fechaduras que foram convertidas. Essas estruturas de bloqueio são desalocadas porque já estão cobertas pelo bloqueio escalonado. | 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 |
| Linenumber | int |
Número de linha da instrução Transact-SQL. | 5 | 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 | 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 para cada logon no servidor. | 41 | Sim |
| Modo | int |
Modo de bloqueio resultante após o escalonamento: 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=Bloqueio Compartilhado (LCK_M_S) 4=Bloqueio de Atualização (LCK_M_U) 5=Bloqueio Exclusivo (LCK_M_X) 6=Bloqueio Compartilhado de 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=Compartilhado com intenção de atualização (LCK_M_SIU) 10=Compartilhado com Intenção Exclusiva (LCK_M_SIX) 11=Atualizar com Intenção 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/Atualização (LCK_M_RS_U) 15=Inserção de Faixa de Chave NULL (LCK_M_RI_NL) 16=Inserir Intervalo de Chaves Compartilhado (LCK_M_RI_S) 17=Atualização de Inserção de Intervalo de Chaves (LCK_M_RI_U) 18=Inserção Exclusiva de Intervalo de Chave (LCK_M_RI_X) 19=Faixa de Chave Exclusiva Compartilhada (LCK_M_RX_S) 20=Atualização Exclusiva do Intervalo de Chaves (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 |
ID atribuída pelo sistema da tabela para a qual o escalonamento de bloqueio foi acionado. | 22 | Sim |
| ObjectID2 | bigint |
ID do objeto ou entidade relacionado. (ID do HoBT para o qual o escalonamento de bloqueio foi acionado.) | 56 | Sim |
| Deslocamento | int |
Deslocamento inicial da declaração de código Transact-SQL. | 61 | Sim |
| OwnerID | int |
1=TRANSAÇÃO 2=CURSOR 3=SESSÃO 4=SHARED_TRANSACTION_WORKSPACE 5=ESPAÇO_DE_TRABALHO_TRANSAÇÃO_EXCLUSIVA 6=ESPERAR_POR_CONSULTA |
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 e LoginName mostrará 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 |
Texto da instrução Transact-SQL que causou o escalonamento de bloqueio. | 1 | Sim |
| TransactionID | bigint |
ID da transação atribuída pelo sistema. | 4 | Sim |
| Tipo | int |
Granularidade de escalonamento de bloqueio: 1=NULL_RESOURCE 2=BANCO DE DADOS 3=ARQUIVO 5=OBJECT (nível da tabela) 6=PÁGINA 7=CHAVE 8=EXTENSÃO 9=RID 10=APLICAÇÃO 11=METADADOS 12=HOBT 13=ALLOCATION_UNIT |
57 | Sim |
Exemplos
O exemplo a seguir usa o procedimento sp_trace_create para criar um rastreamento, usa sp_trace_setevent para adicionar colunas de escalonamento de bloqueio ao rastreamento e, em seguida, usa sp_trace_setstatus para iniciar o rastreamento. Em instruções como EXEC sp_trace_setevent @TraceID, 60, 22, 1, o número 60 indica a classe de evento de escalonamento, 22 indica a coluna ObjectID e 1 define o evento de rastreamento como ON.
DECLARE @RC int, @TraceID int;
EXEC @rc = sp_trace_create @TraceID output, 0, N'C:\TraceResults';
-- Set the events and data columns you need to capture.
EXEC sp_trace_setevent @TraceID, 60, 1, 1; -- 1 = TextData
EXEC sp_trace_setevent @TraceID, 60, 12, 1; -- 12 = SPID
EXEC sp_trace_setevent @TraceID, 60, 21, 1; -- 21 = EventSubClass
EXEC sp_trace_setevent @TraceID, 60, 22, 1; -- 22 = ObjectID
EXEC sp_trace_setevent @TraceID, 60, 25, 1; -- 25 = IntegerData
EXEC sp_trace_setevent @TraceID, 60, 55, 1; -- 25 = IntegerData2
EXEC sp_trace_setevent @TraceID, 60, 57, 1; -- 57 = Type
-- Set any filter by using sp_trace_setfilter.
-- Start the trace.
EXEC sp_trace_setstatus @TraceID, 1;
GO
Agora que o rastreamento está em execução, execute as instruções que você deseja rastrear. Quando eles terminarem, execute o código a seguir para parar e, em seguida, feche o rastreamento. Este exemplo usa a função fn_trace_getinfo para obter traceid a ser usado nas instruções sp_trace_setstatus.
-- After the trace is complete.
DECLARE @TraceID int;
-- Find the traceid of the current trace.
SELECT @TraceID = traceid
FROM ::fn_trace_getinfo(default)
WHERE value = N'C:\TraceResults.trc';
-- First stop the trace.
EXEC sp_trace_setstatus @TraceID, 0;
-- Close and then delete its definition from SQL Server.
EXEC sp_trace_setstatus @TraceID, 2;
GO
Consulte Também
sp_trace_setevent (Transact-SQL)
sys.dm_tran_locks (Transact-SQL)