Fork me on GitHub
sql 查询时间执行长的sql语句

sql 查询时间执行长的sql语句:

select * from sys.sysprocesses


select * from sys.dm_exec_connections 



SELECT c.session_id,t.text  
   FROM sys.dm_exec_connections c   
   CROSS APPLY sys.dm_exec_sql_text (c.most_recent_sql_handle) t
 
 
 
 --  
  DECLARE @html NVARCHAR(MAX);  
   
  with tb  
  as  
  (  
  SELECT c.session_id,t.text  
  FROM sys.dm_exec_connections c  
  CROSS APPLY sys.dm_exec_sql_text (c.most_recent_sql_handle) t  
  )  
  select  distinct x.spid,DB_NAME(x.dbid) as dbname,x.last_batch,x.hostname,x.program_name,x.nt_domain,x.nt_username,tb.text
  into #T  
  from sys.sysprocesses x with (nolock)    
  inner join tb on x.spid=tb.session_id  
  where x.last_batch<dateadd(mi,-15,getdate())  
  and x.program_name<>'Report Server'  
  and nt_domain<>'NT AUTHORITY'
  and x.status<>'sleeping' 
  and x.hostname<>'HZCSRPTSRV' 
    
  if exists(select top 1 * from #T)  
   begin  
   SET @html = '<style type=''text/css''>.header {text-align:center;font-weight:bold;white-space:nowrap;color:#7f7e82;} .cell_text {vertical-align:top;text-align:left;color:#333333;} .cell_num {vertical-align:top;text-align:right;color:#333333;}</style>' ; 
   
   SET @html = @html + CAST(( SELECT 3 [@cellpadding],0 [@cellspacing],'font-family:verdana;font-size:10px;' [@style],1 [@border],  
                                   ( SELECT [@class] = 'header', 'spid' [text()] FOR XML PATH('th'), TYPE) tr,  
                                   ( SELECT [@class] = 'header', 'dbname' [text()] FOR XML PATH('th'), TYPE) tr,  
                                   ( SELECT [@class] = 'header', 'last_batch' [text()] FOR XML PATH('th'), TYPE) tr,  
                                   ( SELECT [@class] = 'header', 'hostname' [text()] FOR XML PATH('th'), TYPE) tr,  
                                   ( SELECT [@class] = 'header', 'program_name' [text()] FOR XML PATH('th'), TYPE) tr,  
                                   ( SELECT [@class] = 'header', 'nt_domain' [text()] FOR XML PATH('th'), TYPE) tr,  
                                   ( SELECT [@class] = 'header', 'nt_username' [text()] FOR XML PATH('th'), TYPE) tr,  
                                   ( SELECT [@class] = 'header', 'text' [text()] FOR XML PATH('th'), TYPE) tr,  
                                   ( SELECT      
                                     ( SELECT [@class] = 'cell_text', spid [text()] FOR XML PATH('td'), TYPE ),  
                                   ( SELECT [@class] = 'cell_text', dbname [text()] FOR XML PATH('td'), TYPE ),  
                                   ( SELECT [@class] = 'cell_text', last_batch [text()] FOR XML PATH('td'), TYPE ),  
                                   ( SELECT [@class] = 'cell_text', hostname [text()] FOR XML PATH('td'), TYPE ),  
                                   ( SELECT [@class] = 'cell_text', program_name [text()] FOR XML PATH('td'), TYPE ),  
                                            ( SELECT [@class] = 'cell_text', nt_domain [text()] FOR XML PATH('td'), TYPE ),  
                                            ( SELECT [@class] = 'cell_text', nt_username [text()] FOR XML PATH('td'), TYPE ),  
                                            ( SELECT [@class] = 'cell_text', text [text()] FOR XML PATH('td'), TYPE )  
                                     FROM (   
                                    select spid,dbname,last_batch,hostname,program_name,nt_domain,nt_username,text  
                                         from #T                                               
                                           ) data   
                                     FOR XML PATH('tr'), TYPE  
                                   )   
                              FOR XML PATH('table'), TYPE  
                             ) AS VARCHAR(MAX));  
   drop table #T;  
  --Send Email    
  EXEC msdb.dbo.sp_send_dbmail     
   @profile_name = 'DBMAIL'    
  ,@recipients = 'DarrenXie@QQ.com'     
  ,@copy_recipients = 'QQQQQ@QQ.com'   
  ,@subject = 'Camstar HZCSRPTSRV long runtime process'    
  ,@body = @html    
  ,@importance ='High'    
  ,@body_format= 'HTML'  
  end  
   else  
  begin  
  drop table #T;  
  end  

  

posted on 2012-04-27 22:10  HackerVirus  阅读(972)  评论(0编辑  收藏  举报