Alguém pode me ajudar a encontrar os detalhes abaixo fornecidos para consulta de longa duração. ProcessID, nome do processo, banco de dados, host, usuário, hora de login do processo, hora de início da consulta e duração da consulta.
Estou procurando uma consulta ou um SP que me forneça esses dados.
Como comentado, a melhor ferramenta disponível é sp_whoIsActive por Adam Machanic . Ele pode ser usado de várias maneiras, para ver o que está rodando no momento em que você inicia o script ou você pode executá-lo em loops para monitorar alguma ação específica, como consultas lentas por exemplo.
Para executar em um loop, dê uma olhada aqui: Como registrar a atividade usando sp_whoisactive em um loop Para detectar consultas lentas: Como usar sp_WhoIsActive para localizar consultas lentas do SQL Server
Você pode usar diretamente os DMVs para obter suas consultas mais lentas e agir a partir daí. Verifique as consultas de diagnóstico de Glenn Berry .
E, finalmente, você pode usar essa consulta para encontrar as consultas mais demoradas. Você pode brincar com o dm_exec_query_stats para adicionar mais dados ou juntar-se a outros para obter mais informações. Esteja ciente de que os dmv's são liberados e atualizados toda vez que o servidor é reiniciado.
EDITAR
Uma nova opção já está disponível há algum tempo, First Reponder Kit . É um conjunto de scripts, fornecido gratuitamente sob licença MIT pela equipe BrentOzar, que ajudará em várias tarefas, incluindo a solicitada pelo OP. Principalmente scripts sp_BlitzFirst e sp_BlitzWho para este caso.
Eu recomendo sp_whoisactive . É um SP de terceiros, mas pode dizer tudo o que você listou acima e muito mais do que isso. É uma ferramenta incrível para ter em seu arsenal.