• You don't indicate what version you're running, but if SQL2005 you could (quick n dirty) do this.. it returns a superset of the columns you used but you can always customize that.

    SELECT

    sp.*,

    DB_NAME(sp.dbid) dbname,

    OBJECT_NAME(st.objectid,sp.dbid) as oname,

    CAST(st.text AS VARCHAR(7000)) as script

    FROM

    sys.sysprocesses sp

    CROSS APPLY

    sys.dm_exec_sql_text (sp.sql_handle) st

    ...BOL mentions sys.sysprocesses is not long for this world so you *really* should use one of these-- depending on what you need:

    sys.dm_exec_connections

    sys.dm_exec_sessions

    sys.dm_exec_requests


    Cursors are useful if you don't know SQL