Algumas vezes é possivel utilizar a query abaixo para verificar a query que foi rodada (esta sendo) por um SPID, a vantagem de utilizar a mesma é a possibilidade de verificar a query, mesmo depois da mesma ja ter terminado, claro que só por um certo periodo de tempo.
Ja utilizei bastante essa query nas seguinte situação: um SPID esta bloqueando alguns processos importantes, o mesmo precisou ser morto, logo após, me pediram para analisar qual era a query que estava bloqueando todo mundo, foi necessario a utilização da mesma para poder verificar essa informação, sendo que o status retornado estava como “RollBack”, ou seja, não mais ativo.
DECLARE @handle VARBINARY(64)
SELECT @handle = sql_handle from sys.sysprocesses where spid = SpidAPesquisar
SELECT text FROM sys.dm_exec_sql_text(@handle)
By: Fabrizzio Caputo