Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --shows who is active and executed commands
- declare @SPID int=null,
- @Status varchar(max) = null,
- @LOGIN varchar(max) = null,
- @HostName varchar(max) = null,
- @DBName varchar(max) = NULL,
- @Command varchar(max) = null
- declare @sql varchar(max)=''
- set @sql='use master;DECLARE @Table TABLE(SPID INT,Status VARCHAR(MAX),LOGIN VARCHAR(MAX),HostName VARCHAR(MAX),BlkBy VARCHAR(MAX),DBName VARCHAR(MAX),Command VARCHAR(MAX),CPUTime INT,DiskIO INT,LastBatch VARCHAR(MAX),ProgramName VARCHAR(MAX),SPID_1 INT,REQUESTID INT);INSERT INTO @Table EXEC sp_who2;
- SELECT w.SPID,w.Status,w.LOGIN,w.HostName,w.BlkBy,w.DBName,w.Command,r.estimated_completion_time/60000.0 as remaining_minutes, r.percent_complete,r.total_elapsed_time/60000.0 as minutes,r.reads,r.writes,t.text,w.CPUTime,w.DiskIO,w.LastBatch,w.ProgramName,w.SPID_1,w.REQUESTID FROM @Table w
- inner join sys.dm_exec_requests AS r on w.SPID=r.session_id
- CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) AS t WHERE 1=1'
- if @SPID is not null
- set @sql=@sql+' and SPID='+@SPID
- if @Status is not null
- set @sql=@sql+' and upper(Status) like ''%'+upper(@Status)+'%'''
- if @LOGIN is not null
- set @sql=@sql+' and upper(LOGIN) like ''%'+upper(@LOGIN)+'%'''
- if @HostName is not null
- set @sql=@sql+' and upper(HostName) like ''%'+upper(@HostName)+'%'''
- if @DBName is not null
- set @sql=@sql+' and upper(DBName) like ''%'+upper(@DBName)+'%'''
- if @Command is not null
- set @sql=@sql+' and upper(Command) like ''%'+upper(@Command)+'%'''
- exec (@sql)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement