Partilhar via


SQL Server, objeto Locks

Aplica-se: SQL Server

O objeto SQLServer:Locks no Microsoft SQL Server fornece informações sobre bloqueios do SQL Server em tipos de recurso individuais. Os bloqueios são mantidos nos recursos SQL Server , como linhas lidas ou modificadas durante uma transação, para evitar o uso simultâneo de recursos por transações diferentes. Por exemplo, se um bloqueio exclusivo (X) for mantido em uma linha de uma tabela por uma transação, nenhuma outra transação poderá modificar essa linha até que o bloqueio seja liberado. Minimizar bloqueios aumenta a simultaneidade, o que pode melhorar o desempenho. Várias instâncias do objeto Locks podem ser monitoradas ao mesmo tempo, com cada instância representando um bloqueio em um tipo de recurso.

Esta tabela descreve os contadores de Bloqueios do SQL Server.

Contadores Locks do SQL Server Descrição
Tempo de Espera Médio (ms) Tempo médio de espera (em milissegundos) de cada solicitação de bloqueio que resultou em uma espera.
Base do tempo de espera médio Somente para uso Interno.
Solicitações de Bloqueio/s Número de bloqueios novos e conversões de bloqueio, por segundo, solicitados a partir do gerenciador de bloqueios.
Tempos Limite de Bloqueio (tempo limite > 0)/s Número de solicitações de bloqueio, por segundo, que ultrapassaram o tempo limite, excluindo-se solicitações de bloqueios NOWAIT.
Tempos Limite de Bloqueio/s Número de solicitações de bloqueio, por segundo, que ultrapassaram o tempo limite, inclusive solicitações de bloqueios NOWAIT.
Tempo de Espera de Bloqueio (ms) Tempo de espera total (em milissegundos) dos bloqueios no último segundo.
Esperas de Bloqueio/s Número de solicitações de bloqueio, por segundo, que exigiram que o chamador esperasse.
Número de Deadlocks/s Número de solicitações de bloqueio, por segundo, que resultaram em um deadlock.

O SQL Server pode bloquear esses recursos.

Item Descrição
_Total Informações de todos os bloqueios.
AllocUnit Um bloqueio em uma unidade de alocação.
Aplicativo Um bloqueio em um recurso especificado por aplicativo.
Backup de banco de dados Um bloqueio em um banco de dados, inclusive todos os seus objetos.
Extensão Um bloqueio em um grupo contíguo de 8 páginas.
Arquivo Um bloqueio em um arquivo de banco de dados.
Heap/árvore B Heap ou árvore B. Um bloqueio em um heap de páginas de dados ou na estrutura da árvore B de um índice.
Chave Um bloqueio em uma linha de um índice.
Metadados Um bloqueio em uma parte das informações de catálogo, também chamadas de metadados.
Objeto Um bloqueio em tabela, procedimento armazenado, exibição, etc, inclusive todos os dados e índices. O objeto pode ser qualquer coisa que tenha uma entrada em sys.all_objects.
OIB Bloquear recurso para bloqueios de build de índice online, especificamente para uma tabela de acompanhamento de LOB de build de índice online.
Página Um bloqueio em uma página de 8 quilobytes (KB) em um banco de dados.
RID ID de linha. Um bloqueio em uma única linha de um heap.
RowGroup Bloquear recurso para um rowgroup de índice columnstore.
Xact Bloquear recurso para uma transação.

Observação

A documentação usa o termo árvore B geralmente em referência a índices. Em índices de rowstore, o Database Engine implementa uma árvore B+. Isso não se aplica a índices columnstore ou índice em tabelas com otimização de memória. Para obter mais informações, confira o Guia de arquitetura e design do índice do SQL Server e SQL do Azure.

Exemplo

Você começa a explorar os contadores de desempenho de consulta neste objeto usando essa consulta T-SQL na exibição de gerenciamento dinâmico sys.dm_os_performance_counters:

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