我有一个Web应用程序,我通过执行存储过程来显示报告。执行花费的时间太长但是在显示报告后表示完成存储过程的执行后,app变得非常慢。即使我导航到其他页面也需要很长时间。
执行存储过程后是否有可能,后面仍然会发生一些事情。仍然存储过程正在运行或表被锁定或类似的东西。如何找出原因。
我的服务器是SQL server 2008R2。
答案 0 :(得分:0)
您可能需要运行一些诊断,我宁愿采用逐步方法
1)检查是否存在任何阻止过程
SELECT * FROM dbo.sysprocesses WHERE blocked <> 0;
SELECT * FROM dbo.sysprocesses WHERE spid IN (SELECT blocked FROM dbo.sysprocesses where blocked <> 0)
2)检查任何运行缓慢的查询
SELECT r.session_id
,s.TEXT
,r.[status]
,r.blocking_session_id
,r.cpu_time
,r.total_elapsed_time
FROM sys.dm_exec_requests r
CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS s
3)在Windows中运行cmd
并检查webservices状态
sc query <servicename>