Compartilhar via


Classe de evento Lock:Acquired

A classe de evento Lock:Acquired indica que foi obtida a aquisição de um bloqueio em um recurso, como página de dados.

As classes de evento Lock:Acquired e Lock: Released podem ser usadas para monitorar quando os objetos estão sendo bloqueados, o tipo de bloqueio obtido, e por quanto tempo os bloqueios foram retidos. Os bloqueios retidos por longos períodos de tempo podem causar problemas de contenção e devem ser investigados. Por exemplo, um aplicativo pode estar adquirindo bloqueios em linhas em uma tabela, e em seguida esperando por uma entrada do usuário. Como a entrada do usuário pode levar muito tempo, os bloqueios podem bloquear outros usuários. Nesta instância, o aplicativo deveria ser reprojetado para fazer solicitações de bloqueios somente quando necessário e não exigir uma entrada do usuário quando forem adquiridos os bloqueios.

Colunas de dados da classe de evento Lock:Acquired

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 para uma instância do MicrosoftSQL Server. Essa coluna é populada com os valores passados pelo aplicativo e não com o nome exibido do programa.

10

Sim

BigintData1

bigint

ID da partição se o recurso de bloqueio for particionado.

52

Sim

BinaryData

image

Identificador do recurso de bloqueio.

2

Sim

ClientProcessID

int

Identificação atribuída pelo computador host ao processo em que o aplicativo cliente está em execução. Essa coluna de dados será populada se o cliente fornecer a identificação do processo cliente.

9

Sim

DatabaseID

int

ID do banco de dados no qual o bloqueio foi adquirido. 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. O valor de um banco de dados pode ser determinado com a função DB_ID.

3

Sim

Duration

bigint

Tempo (em microssegundos) entre a hora em que a solicitação de bloqueio foi emitida e a hora em que ocorreu o bloqueio.

13

Sim

EndTime

datetime

Hora em que o evento terminou.

15

Sim

EventClass

int

Tipo de evento = 24.

27

Não

EventSequence

int

Seqüência de um determinado evento na solicitação.

51

Não

GroupID

int

Identificação do grupo de carga de trabalho em que foi acionado o evento de Rastreamento SQL.

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 Windows na forma de DOMAIN\username).

11

Sim

LoginSid

image

SID (número de ID de segurança) do usuário conectado. 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

Modo resultante depois da aquisição do bloqueio.

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 do 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

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

7

Sim

NTUserName

nvarchar

Nome de usuário do Windows.

6

Sim

ObjectID

int

Identificação do objeto no qual foi adquirido o bloqueio, 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

Identificação 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, ao se conectar ao SQL Server usando o Login1 e executar uma instrução como Login2, SessionLoginName mostrará o Login1 e LoginName mostrará o 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 adquirido. Este é o mesmo valor que a coluna do resource_description em sys.dm_tran_locks.

1

Sim

TransactionID

bigint

Identificação 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