SQL Server, Bloqueia o objeto

Aplica-se a: SQL Server

O objeto SQLServer:Locks no Microsoft SQL Server fornece informação sobre bloqueios do SQL Server em tipos individuais de recursos. Bloqueios são mantidos em recursos SQL Server, como linhas lidas ou modificadas durante uma transação, para evitar o uso simultâneo de recursos por diferentes transações. Por exemplo, se um bloqueio exclusivo (X) for mantido numa linha dentro de uma tabela por uma transação, nenhuma outra transação pode modificar essa linha até que o bloqueio seja libertado. Minimizar bloqueios aumenta a concorrência, o que pode melhorar o desempenho. Múltiplas instâncias do objeto Locks podem ser monitorizadas ao mesmo tempo, com cada instância a representar um bloqueio num tipo de recurso.

Esta tabela descreve os contadores de bloqueios do SQL Server.

SQL Server bloqueia contadores Description
Tempo Médio de Espera (ms) Tempo médio de espera (em milissegundos) para cada pedido de fechadura que resultou numa espera.
Tempo de Espera Médio Base Apenas para uso interno.
Pedidos de Fechadura/sec Número de novas fechaduras e conversões de fechaduras por segundo solicitadas ao gestor de fechaduras.
Tempos mortos de bloqueio (tempo limite > 0)/seg Número de pedidos de bloqueio por segundo que expiraram, mas excluindo pedidos para bloqueios NOWAIT.
Tempos mortos/segundo de bloqueio Número de pedidos de bloqueio por segundo que expirava, incluindo pedidos de bloqueios NOWAIT.
Tempo de Espera da Fechadura (ms) Tempo total de espera (em milissegundos) para fechaduras no último segundo.
Esperas/sec de bloqueio Número de pedidos de bloqueio por segundo que exigiam que o chamador esperasse.
Número de bloqueios/seg Número de pedidos de bloqueio por segundo que resultaram num bloqueio.

O SQL Server pode bloquear estes recursos.

Item Description
_Total Informação para todas as fechaduras.
AllocUnit Um bloqueio numa unidade de alocação.
Application Um bloqueio sobre um recurso especificado pela aplicação.
Database Um bloqueio numa base de dados, incluindo todos os objetos da base de dados.
Extensão Um bloqueio num grupo contíguo de 8 páginas.
Ficheiro Um bloqueio num ficheiro de base de dados.
Heap/B-tree Heap ou B-tree. Um bloqueio numa pilha de páginas de dados, ou na estrutura de árvore B de um índice.
Chave Um bloqueio numa linha num índice.
Metadata Um bloqueio numa informação de catálogo, também chamada de metadados.
Objeto Uma tabela de bloqueio, procedimento armazenado, vista, etc., incluindo todos os dados e índices. O objeto pode ser qualquer coisa que tenha uma entrada em sys.all_objects.
OIB Recurso de bloqueio para locks de construção de índices online, especificamente para uma tabela de rastreio LOB de construção de índices online.
Página Um cadeado numa página de 8 kilobytes (KB) numa base de dados.
RID ID de fila. Um cadeado numa única fila em pilha.
RowGroup Bloquear recurso para um grupo de linhas de índice de columnstore.
Xact Bloqueia recurso para transações.

Note

A documentação usa o termo árvore B geralmente em referência a índices. Em índices de armazenamento em linha, o Mecanismo de Base de Dados implementa uma árvore B+. Isso não se aplica a índices de armazenamento em colunas ou a índices em tabelas com otimização de memória. Para mais informações, consulte o guia de arquitetura e estrutura de índices do SQL Server e do SQL do Azure.

Example

Começa a explorar os contadores de desempenho das consultas neste objeto usando esta consulta T-SQL na vista sys.dm_os_performance_counters gestão dinâmica:

SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Locks%';