11

Usando sys.dm_os_wait_stats he identificado lo que creo que hay un problema de bloqueobloqueo Finding/consultas de bloqueo en MS SQL (mssql)

wait type waittime pct  running ptc 
    LCK_M_RS_S 2238.54 22.14 22.14 
    LCK_M_S  1980.59 19.59 41.73 

es una manera de que pueda encontrar el bloqueo superior/consultas de bloqueo? He intentado consultar sys.dm_db_index_operational_stats sin mucha suerte.

Respuesta

18

Usted puede encontrar esta consulta útil:

SELECT * 
FROM sys.dm_exec_requests 
WHERE DB_NAME(database_id) = 'YourDBName' 
AND blocking_session_id <> 0 
+2

Sí me terminaron de forma manual y golpear continuamente F5 con la siguiente consulta "SELECT * DE sys.dm_exec_requests CRUZ SOLICITAR sys.dm_exec_sql_text (sql_handle) donde blocking_session_id <> 0" –

+7

he editado la nueva declaración, por lo que se obtener siempre el "verdadero" culpable: 'SELECCIONAR * FROM sys.dm_exec_requests CROSS APLICAR sys.dm_exec_sql_text (sql_handle) donde session_id IN (SELECCIONAR blocking_session_id DE sys.dm_exec_requests WHERE DB_NAME (database_id) = 'SDCS20' y blocking_session_id <> 0)' Algunas afirmaciones son bloqueadas porque están bloqueadas por otra cosa, en ese caso el blocking_session_id será diferente del session_id. –

3

utilizar el script: sp_blocker_pss08 o Traza de SQL/Profiler y la clase de evento Informe Proceso bloqueado.

+0

Parece interesante. Lo intentaré la próxima vez que me encuentre con estos problemas –