Estou usando o SQL Server 2012 e quero obter as consultas que estão demorando mais para serem executadas junto com as consultas que estão causando bloqueio no servidor. Quando procuro no servidor as consultas em execução para identificar algum bloqueio, não encontro nenhuma consulta.
Eu configurei eventos estendidos e obtive apenas informações de alto nível disso. As tabelas que estão atingindo o tempo limite, mas preciso de informações que informem mais sobre as consultas que causaram os tempos limite.
Alguma sugestão???
Você pode usar sys.dm_exec_query_stats e sys.dm_exec_requests do dmv para analisar as consultas que consomem recursos junto com sua duração por quanto tempo:
Use a consulta abaixo para capturar o mesmo:
Além disso, sugiro que, se você estiver usando eventos estendidos, poderá capturar o mesmo. Para obter mais informações sobre como configurar e usar o mesmo, leia este white paper de Jonathan Using SQL Server 2008 Extended Events , que deve ajudá-lo aqui
Além disso, quando as consultas são executadas e todos os processos são executados em segundo plano e para verificar se o bloqueio está realmente disponível junto com qualquer espera específica, sugiro que você use SP_WHOISACTIVE de Como usar sp_WhoIsActive para localizar consultas lentas do SQL Server
Além disso, se você preferir usar o Profiler, poderá rastrear e solucionar o mesmo problema explicado em Como identificar consultas de execução lenta com o SQL Profiler