Sql存储过程的持续时间

时间:2016-04-29 16:30:25

标签: sql-server

我正在使用下面的查询(dmv' s)捕获我的sql server 2008r2实例上的Activity信息。

select
    der.session_id,
    der.blocking_session_id as isbeingblockedby,
    der.start_time,
    datediff(MINUTE, der.start_time,getdate()) as RunningForMinutes,
    datediff(SECOND, der.start_time,getdate() ) as RunningForSeconds,
    st.text as query text,     
from sysprocesses sp
full join sys.dm_exec_requests  der
    on sp.spid = der.session_id
full OUTER JOIN sys.dm_exec_sessions des
    on der.session_id = des.session_id
CROSS APPLY sys.dm_exec_sql_text(der.sql_handle) st
--CROSS APPLY sydes.dm_exec_query_plan(deder.plan_handle) qp

基本上它显示了阻塞或锁定信息以及session_id在特定时间运行的内容(我每隔10秒运行一次)。我最近被要求获得存储过程的持续时间。我想知道是否有人曾经使用DMV来捕捉这个。我知道我可以使用SQL服务器分析器,但业务甚至我自己都担心运行它会降低性能。我已经在每500毫秒运行一次的连续循环中执行了我的查询,这有点帮助。但是我想在这个

上得到并分享其他人的想法
WHILE 1=1
BEGIN
    EXEC CaptureCurrentActvity;

    WAITFOR DELAY '00:00:00.500';
END

0 个答案:

没有答案