Depois de pesquisar em diferentes sites e QnAs, estou muito confuso sobre como posso:
- Encontre impasses e a que horas eles ocorreram
- Como identificar o que aconteceu e surgiu um impasse.
- E qual é a consulta que causou um impasse.
Existe alguma Consulta para extrair tais informações?
Observe que eu vi as tabelas
sys.dm_tran_locks
sys.dm_exec_requests
e ainda não entendo.
Uma boa maneira de encontrar os impasses que aconteceram é com o uso do First Responder Kit de Brent Ozar.
Isso pode ser encontrado aqui: https://www.brentozar.com/first-aid/
Quando instalado, você pode executar o
sp_blitzlock
comando e ver as informações do impasse.https://www.brentozar.com/archive/2017/12/introducing-sp_blitzlock-troubleshooting-sql-server-deadlocks/
Outra opção é procurar no buffer de anel que Martin sugeriu: https://www.sqlshack.com/monitoring-sql-server-deadlocks-using-the-system_health-extended-event/#:~:text=system_health%20event %20session.-,Extract%20SQL%20Server%20Deadlock%20information%20using%20T%2DSQL%20from%20the%20ring%20buffer%20target,-We%20can%20use