Aí vai a query que resolveu o nosso problema:
SELECT session_id, TEXT
FROM sys.dm_exec_connectionsCROSS APPLY sys.dm_exec_sql_text(most_recent_sql_handle) AS ST
Aparece o session_id e o texto da query executada. Mas caso você queria mais informações para saber de qual máquina veio a query, o seu IP, qual software está fazendo a requisição e outras informações, sem problemas. É só fazem um INNER JOIN com a view de sistema sys.sysprocesses , que é a mesma utilizada pelas stored procedures sp_who e sp_who2, empregadas para visualizar as sessões e processos em aberto. Então aí vai uma versão mais completinha:
SELECT client_net_address as [IP do cliente],
p.hostname
as [Nome da máquina do cliente],
[text] as [Texto da consulta],
DB_NAME(p.dbid) as [Nome do BD no
qual foi executada a query],
p.[program_name]
as [Programa solicitante]
FROM sys.dm_exec_connections c
INNER JOIN sys.sysprocesses p on c.session_id = p.spid
CROSS APPLY sys.dm_exec_sql_text(most_recent_sql_handle)
AS ST
Muitíssimo obrigado!
ResponderExcluirPrecisei para resgatar uma query que não tinha entendido bem e que foi executada em outra máquina e consegui o que queria!
Perfeita query!
Obrigado!
Valeu por publicar isso, precisei e resolveu meu problema.
ResponderExcluirmuito bom, foi de grande ajuda
ResponderExcluirVlw mesmo, era o que precisava
ResponderExcluirsensacional, mto bom...me ajudou mto, obrigado
ResponderExcluirExcelente, parabéns! Precisou de uns pequenos ajustes para o que eu queria, mas, como base, foi de enorme valor!
ResponderExcluir