查看造成 sqlservr.exe cpu 負載持續飆到9x%
確認是否block
尋找 blocking_session_id 非0的並執行 kill 將其刪除即可恢復正常
需根據最後一個欄位分析造成此現象的原因,無法解決則要避免有機會執行到此指令
找出高負載指令
SELECT TOP 100 s.session_id, r.status, r.cpu_time,
SUBSTRING(st.TEXT, (r.statement_start_offset / 2) + 1,
((CASE r.statement_end_offset WHEN -1 THEN DATALENGTH(st.TEXT)
ELSE r.statement_end_offset END - r.statement_start_offset) / 2) + 1) AS statement_text
FROM sys.dm_exec_connections c
JOIN sys.dm_exec_sessions s ON c.session_id= s.session_id
JOIN sys.dm_exec_requests r ON r.session_id = s.session_id
CROSS APPLY sys.Dm_exec_sql_text(r.sql_handle) AS st
where r.status='running'
ORDER BY r.cpu_time DESC
確認程式中有這段指令的部分進行優化
留言