我的数据库服务器突然使用100%的处理,似乎我的网站上没有更多的流量。如何查看SQL Server Management Studio内部流量增加的位置?
答案 0 :(得分:1)
虽然我使用此查询快速检查阻塞(开销较低),但您可以使用它查看已运行的进程数,每个进程的cpu时间,读取,写入和logical_reads :
;with Blockers AS
( SELECT
r.session_id AS spid
,r.blocking_session_id AS BlockingSPID
,LEFT(OBJECT_NAME(st.objectid, st.dbid),50) AS ShortObjectName
,LEFT(DB_NAME(r.database_id),50) AS DatabaseName
,s.program_name
,s.login_name
,r.cpu_time,r.reads,r.writes,r.logical_reads
,OBJECT_NAME(st.objectid, st.dbid) AS ObjectName
,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 SQLText
FROM sys.dm_exec_requests r
JOIN sys.dm_exec_sessions s ON r.session_id = s.session_id
CROSS APPLY sys.dm_exec_sql_text (sql_handle) st
--WHERE r.session_id > 50
)
SELECT Blockers.* FROM Blockers WHERE spid!=@@SPID
答案 1 :(得分:1)
高处理器使用率的典型原因是来自存储过程或其他方面的未经优化的查询。我将查看您经常运行的存储过程,并确保它们正在高效运行并正确编入索引。
http://www.aneef.net/2009/04/11/100-cpu-sql-server-2005-servers-crashes/
关于性能调优的文章: http://207.46.16.252/en-us/magazine/2007.10.sqlcpu.aspx
答案 2 :(得分:0)
尝试检查文件中的可用空间量。 SQL可能会增加你的mdf / ldf
的大小如果您没有太多可用空间设置增加固定大小而不是%
答案 3 :(得分:0)
看一下sql server activity monitor,特别是cpu列。也许你有一个或多个疯狂的查询。