我有一个客户端,其中一个数据库(SQL Server 2008 R2)使用了过多比例的服务器磁盘I / O.他们一次观察到300-1000MB / s的读取持续时间超过10分钟,这影响了其他服务。
这实际上超出了我的工作范围,我不知道如何解决这个问题。他们希望尽量减少这种影响,并希望了解任何建议。
如果有人能告诉我从哪里开始分析这种行为,我将不胜感激。
感谢。
答案 0 :(得分:1)
尝试此查询以查看正在进行的操作。
SELECT
DB_NAME(qs.database_id) AS DBName
,qs.database_id
,qs.object_id
,OBJECT_NAME(qs.object_id,qs.database_id) AS ObjectName
,qs.cached_time
,qs.last_execution_time
,qs.plan_handle
,qs.execution_count
,total_worker_time
,last_worker_time
,min_worker_time
,max_worker_time
,total_physical_reads
,last_physical_reads
,min_physical_reads
,max_physical_reads
,total_logical_writes
,last_logical_writes
,min_logical_writes
,max_logical_writes
,total_logical_reads
,last_logical_reads
,min_logical_reads
,max_logical_reads
,total_elapsed_time
,last_elapsed_time
,min_elapsed_time
,max_elapsed_time
FROM
sys.dm_exec_procedure_stats qs
ORDER BY
total_physical_reads DESC