数据库使用过多比例的服务器磁盘I / O.

时间:2018-05-23 09:29:07

标签: sql-server database-performance database-administration

我有一个客户端,其中一个数据库(SQL Server 2008 R2)使用了过多比例的服务器磁盘I / O.他们一次观察到300-1000MB / s的读取持续时间超过10分钟,这影响了其他服务。

这实际上超出了我的工作范围,我不知道如何解决这个问题。他们希望尽量减少这种影响,并希望了解任何建议。

如果有人能告诉我从哪里开始分析这种行为,我将不胜感激。

感谢。

1 个答案:

答案 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