Skip to content

Instantly share code, notes, and snippets.

@Cylindric
Created March 26, 2013 15:56
Show Gist options
  • Save Cylindric/5246556 to your computer and use it in GitHub Desktop.
Save Cylindric/5246556 to your computer and use it in GitHub Desktop.
Shows current processes and their last executed statement.
DECLARE @who TABLE (SPID INT, Status VARCHAR(255), Login VARCHAR(255), HostName VARCHAR(255), BlkBy VARCHAR(255), DBName VARCHAR(255), Command VARCHAR(255), CPUTime INT, DiskIO INT, LastBatch VARCHAR(255), ProgramName VARCHAR(255), SPID2 INT, REQUESTID INT)
DECLARE @proc TABLE (SPID INT, Status VARCHAR(255), HostName VARCHAR(255), BlkBy VARCHAR(255), DBName VARCHAR(255), Command VARCHAR(255), CPUTime INT, DiskIO INT, LastBatch VARCHAR(255), ProgramName VARCHAR(255), last_statement TEXT)
INSERT INTO @who EXEC sp_who2
INSERT INTO @proc (SPID, Status, HostName, BlkBy, DBName, Command, CPUTime, DiskIO, LastBatch, ProgramName) SELECT SPID, Status, HostName, BlkBy, DBName, Command, CPUTime, DiskIO, LastBatch, ProgramName FROM @who
UPDATE p
SET last_statement = s.text
FROM @proc AS p
LEFT JOIN
(
SELECT SPID, text
FROM master..sysprocesses AS s
CROSS APPLY ::fn_get_sql(s.sql_handle)
) AS s ON (p.SPID=s.SPID)
/* ****************************************** *
Change this to filter and sort the results
* ****************************************** */
SELECT *
FROM @proc
WHERE DBName <> 'master'
ORDER BY CPUTime DESC
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment