SQL代理作业永远不会完成。
服务器:2.4hZ,24处理器,256GB RAM,Windows 2008 Server,SQL 2008
根据活动监视器:%ProcessTime为100%
在下面找到SP_Who:
SPID Status DBName Command CPUTime ProgramName SPID
141 SUSPENDED STL UPDATE 5429 .Net SqlClient Data Provider 141
141 RUNNABLE STL UPDATE 22362478 .Net SqlClient Data Provider 141
141 RUNNABLE STL UPDATE 21178290 .Net SqlClient Data Provider 141
141 RUNNABLE STL UPDATE 22590708 .Net SqlClient Data Provider 141
141 RUNNABLE STL UPDATE 21682298 .Net SqlClient Data Provider 141
141 RUNNABLE STL UPDATE 20652239 .Net SqlClient Data Provider 141
141 RUNNABLE STL UPDATE 22315694 .Net SqlClient Data Provider 141
141 RUNNABLE STL UPDATE 22362120 .Net SqlClient Data Provider 141
141 RUNNABLE STL UPDATE 21867097 .Net SqlClient Data Provider 141
141 RUNNABLE STL UPDATE 22746381 .Net SqlClient Data Provider 141
141 RUNNABLE STL UPDATE 20301456 .Net SqlClient Data Provider 141
141 RUNNABLE STL UPDATE 22236445 .Net SqlClient Data Provider 141
141 RUNNABLE STL UPDATE 19998611 .Net SqlClient Data Provider 141
141 RUNNABLE STL UPDATE 21139087 .Net SqlClient Data Provider 141
141 RUNNABLE STL UPDATE 22628117 .Net SqlClient Data Provider 141
141 RUNNABLE STL UPDATE 21512351 .Net SqlClient Data Provider 141
141 RUNNABLE STL UPDATE 21354649 .Net SqlClient Data Provider 141
141 RUNNABLE STL UPDATE 20256823 .Net SqlClient Data Provider 141
141 RUNNABLE STL UPDATE 21185138 .Net SqlClient Data Provider 141
141 RUNNABLE STL UPDATE 21272530 .Net SqlClient Data Provider 141
141 RUNNABLE STL UPDATE 22084796 .Net SqlClient Data Provider 141
141 RUNNABLE STL UPDATE 20745996 .Net SqlClient Data Provider 141
141 RUNNABLE STL UPDATE 21812185 .Net SqlClient Data Provider 141
141 RUNNABLE STL UPDATE 21738442 .Net SqlClient Data Provider 141
141 RUNNABLE STL UPDATE 20895694 .Net SqlClient Data Provider 141
根据它是24进程,查询被分成24个并行线程。
并行度的成本阈值设置为30,最大并行度为0(默认值)。
在Profiler中看不到任何内容,上面的所有线程都在等待CPU时间。
如何找到SQL Server正在做什么以及什么阻止了CPU?
答案 0 :(得分:0)
我首先查看等待任务dmv,以查看查询正在等待的资源类型。此外,当前执行语句正在使用查询计划。
SELECT *
FROM sys.dm_os_waiting_tasks
WHERE session_id = 141
SELECT q.query_plan,
r.*
FROM sys.dm_exec_requests r
CROSS APPLY sys.dm_exec_query_plan(r.plan_handle) q
WHERE session_id = 141