Skip to content

¿Qué locks genera una conexión en SQL Server?

Todas las acciones en Base de Datos pueden causar un determinado Lock como hemos ido viendo en una serie de publicaciones que empiezan en responder ¿Qué son los Bloqueos en SQL Server?

Cuando entramos a mayor detalle necesitamos saber qué locks genera una conexión específica; en pocas palabras, qué es lo que causa una acción particular.

Para determinar qué locks genera una conexión

Lo primero es identificar qué conexión vamos a analizar. Inicialmente podríamos apuntar a aquella conexión que está realizando una modificación de datos pues queremos entender qué nivel de Locking ha causado.

SELECT 
	[resource_type],
	[resource_subtype],
	[request_mode],
	COUNT(*) AS [ReqCount]
FROM [sys].[dm_tran_locks]
WHERE [request_session_id] = 35 --@sessionId
GROUP BY 
	[resource_type],
	[resource_subtype],
	[request_mode]

Nótese que existe un valor de session_id que debe ser reemplazado por el número de sesión que deseamos analizar. Para evitar este reemplazo, utilizamos la misma consulta pero en formato de Procedimiento Almacenado que puedes verlo aquí. Así, simplemente se ejecutará el llamado al SP mandando como parámetro el número de sesión.

qué locks genera una conexión
Se analiza qué locks genera la session_id = 58

Para recordar la interpretación de estos valores, puedes revisar los Tipos de Bloqueos en SQL Server y para ver en casos reales la revisión detallada de estos escenarios, te invito a que te registres al próximo evento Webinar en Vivo o sigas las grabaciones del Canal de Youtube.

www.datoptim.com
I love working on SQL Server Performance Tuning and finding the origin of the problems. Music and SQL Server passionate.

Carrito
Volver arriba