2017-05-16 3 views
0

Ich habe eine Reihe von Exec-Befehle ausgeführt, gespeicherte Prozeduren, 25 von ihnen um genau zu sein.Ermitteln der aktuellen Ausführung von Exec-Befehl - SQL Server

exec stp_1 
exec stp_2 
exec stp_3 

und so weiter ...

Gibt es eine Möglichkeit, die exec Befehl zu wissen, ausgeführt wird? Im Abfragefenster sehe ich nur "ausführende Abfrage". Ich lief sp_who, aber kann nicht sagen, welche Exec ausgeführt wird.

Antwort

1

Try This

   SELECT  r.start_time [Start Time],session_ID [SPID], 
      DB_NAME(database_id) [Database], 
      SUBSTRING(t.text,(r.statement_start_offset/2)+1, 
      CASE WHEN statement_end_offset=-1 OR statement_end_offset=0 
      THEN (DATALENGTH(t.Text)-r.statement_start_offset/2)+1 
      ELSE (r.statement_end_offset-r.statement_start_offset)/2+1 
      END) [Executing SQL], 
      Status,command,wait_type,wait_time,wait_resource, 
      last_wait_type 
FROM  sys.dm_exec_requests r 
OUTER APPLY sys.dm_exec_sql_text(sql_handle) t 
WHERE  session_id != @@SPID 
AND   session_id > 50 -- don't show system queries 
ORDER BY r.start_time 
0

Try this:

SELECT 
DMExQryStats.last_execution_time AS [Executed At], 
DMExSQLTxt.text AS [Query] 
FROM 
sys.dm_exec_query_stats AS DMExQryStats 
CROSS APPLY 
sys.dm_exec_sql_text(DMExQryStats.sql_handle) AS DMExSQLTxt 
ORDER BY 
DMExQryStats.last_execution_time DESC 
Verwandte Themen