查找SQL SERVER 2005 IO过高的数据库

WITH    db_io
          AS (SELECT    DB_NAME(a.database_id) AS [dbname]
                      , CASE WHEN b.type_desc = 'LOG' THEN 'LogFile'
                             ELSE 'DataFile'
                        END AS FileType
                      , num_of_reads
                      , num_of_writes
                      , SUM(a.io_stall) AS io_stall
                      , SUM(num_of_bytes_read + num_of_bytes_written) AS TotalIOBytes
              FROM      sys.dm_io_virtual_file_stats(NULL, NULL) a
                        JOIN sys.master_files b ON a.database_id = b.database_id
                                                   AND a.file_id = b.file_id
              GROUP BY  DB_NAME(a.database_id)
                      , b.type_desc
                      , num_of_reads
                      , num_of_writes
             )
    SELECT  dbname
          , FileType
          , num_of_reads
          , num_of_writes
          , CAST(1. * TotalIOBytes / (1024 * 1024) AS DECIMAL(12, 2)) AS IO_MB
          , CAST(1. * io_stall / 1000 AS DECIMAL(12, 2)) AS IO_stall_s
          , CAST(100. * io_stall / SUM(io_stall) OVER () AS DECIMAL(10, 2)) AS [IO_stall_pct%]
                                                     ,--占总IO的百分比
                                                       row_number() OVER (ORDER BY io_stall DESC) AS rn
    FROM                                               DB_IO
--ORDER BY [IO_stall_pct%] desc

转载于:https://www.cnblogs.com/luckjun/archive/2011/10/10/2205210.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值