查询正在执行的进程(存储过程)

 SELECT  [Spid] = session_id , 
            ecid , 
            [Database] = DB_NAME(sp.dbid) , 
            [User] = nt_username , 
            [Status] = er.status , 
            [Wait] = wait_type , 
            [Individual Query] = SUBSTRING(qt.text, 
                                           er.statement_start_offset / 2, 
                                           ( CASE WHEN er.statement_end_offset = -1 
                                                  THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) 
                                                       * 2 
                                                  ELSE er.statement_end_offset 
                                             END - er.statement_start_offset ) 
                                           / 2) , 
            [Parent Query] = qt.text , 
            Program = program_name , 
            hostname , 
            nt_domain , 
            start_time 
    FROM    sys.dm_exec_requests er 
            INNER JOIN sys.sysprocesses sp ON er.session_id = sp.spid 
            CROSS APPLY sys.dm_exec_sql_text(er.sql_handle) AS qt 
    WHERE   session_id > 50 -- Ignore system spids. 
            AND session_id NOT IN ( @@SPID ) -- Ignore this current statement. 
ORDER BY    1 , 
            2 

posted on 2017-12-06 17:06  jonstone  阅读(413)  评论(0)    收藏  举报

导航