Bloqueos (objeto de SQL Server)

Se aplica a: SQL Server

El objeto SQLServer:Locks de Microsoft SQL Server proporciona información acerca de los bloqueos de SQL Server en tipos de recursos individuales. Se mantienen bloqueos en recursos de SQL Server , como filas leídas o modificadas durante una transacción, para evitar que varias transacciones utilicen simultáneamente los recursos. Por ejemplo, si una transacción mantiene un bloqueo exclusivo (X) en una fila de una tabla, ninguna otra transacción podrá modificar esa fila hasta que se libere el bloqueo. La reducción de bloqueos aumenta la simultaneidad, lo que puede mejorar el rendimiento. Se pueden supervisar al mismo tiempo varias instancias del objeto Locks ; cada instancia representa un bloqueo en un tipo de recurso.

En la siguiente tabla se describen los contadores de Locks de SQL Server.

Contadores de bloqueos de SQL Server Descripción
Tiempo promedio de espera (ms) Promedio de tiempo de espera (en milisegundos) para cada solicitud de bloqueo que esperó.
Tiempo promedio de espera de base Solo para uso interno.
Solicitudes de bloqueo/seg. Número de nuevos bloqueos y conversiones de bloqueos por segundo solicitados desde el administrador de bloqueos.
Tiempos de espera de bloqueos (tiempo de espera > 0)/s Número de solicitudes de bloqueo por segundo cuyo tiempo de espera se agotó, pero excluidas las solicitudes de bloqueo NOWAIT.
Tiempos de espera de bloqueos/seg. Número de solicitudes de bloqueo por segundo cuyo tiempo de espera se agotó, incluidas las solicitudes de bloqueo NOWAIT.
Tiempo de espera de bloqueos (ms) Tiempo total de espera (en milisegundos) de bloqueos en el último segundo.
Esperas de bloqueo/seg. Número de solicitudes de bloqueo por segundo que necesitaron que el solicitante esperara.
Número de interbloqueos/seg. Número de solicitudes de bloqueo por segundo que causaron interbloqueos.

SQL Server puede bloquear los siguientes recursos.

Elemento Descripción
_Total Información sobre todos los bloqueos.
Unidad de asignación Bloqueo en una unidad de asignación.
Aplicación Bloqueo en un recurso de una aplicación especificada.
Base de datos Bloqueo en una base de datos, incluidos todos los objetos de la base de datos.
Extensión Bloqueo en un grupo contiguo de 8 páginas.
Archivo Bloqueo en un archivo de base de datos.
Montón o árbol B Montón o árbol B. Bloqueo en un montón de páginas de datos o en la estructura árbol B de un índice.
Clave Bloqueo en una fila de un índice.
Metadata Bloqueo en información de catálogo, también conocida como metadatos.
Object Bloqueo en una tabla, procedimiento almacenado, vista, etc. incluidos todos los datos e índices. El objeto puede ser cualquier elemento que tenga una entrada en sys.all_objects.
OIB Bloquee el recurso para los bloqueos de generación de índice en línea, específicamente para una tabla de seguimiento de LOB de generación de índice en línea.
Page Bloqueo en una página de 8 kilobytes (KB) de una base de datos.
RID Id. de fila. Un bloqueo sobre una sola fila en un montón.
Grupo de filas Bloquee el recurso para un grupo de filas de índice de almacén de columnas.
Xact Bloquee el recurso para una transacción.

Nota:

La documentación usa el término árbol B generalmente en referencia a índices. En los índices de almacén de filas, el Motor de base de datos implementa un árbol B+. Esto no se aplica a índices o índices de almacén de columnas en tablas optimizadas para memoria. Para obtener más información, consulte la guía de diseño y arquitectura de índices de SQL Server y Azure SQL.

Ejemplo

Puede empezar a explorar los contadores de rendimiento de consultas en este objeto mediante esta consulta T-SQL en la vista de administración dinámica sys.dm_os_performance_counters:

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