以下SQL可查询出当前数据库实例中,那些数据库,那些数据类型是操作IO和IO等待的主要元素。以便分析有关数据库的操作。
1 with dbio as 2 ( 3 select 4 DB_NAME(t.database_id) databasename, 5 case mf.type when 1 then 'log' else 'data' end file_type, 6 SUM(t.num_of_bytes_read+t.num_of_bytes_written) as io, 7 SUM(t.io_stall) io_stall 8 from 9 sys.dm_io_virtual_file_stats(null,null) as t 10 join sys.master_files mf on t.database_id=mf.database_id and t.file_id=mf.file_id 11 group by DB_NAME(t.database_id),mf.type 12 ) 13 select 14 t.databasename, 15 t.file_type,--文件类型:data:数据,log:日志 16 CAST(1.0*t.io/(1024*1024) as decimal(12,2)) io_mb,--IO操作大小(包含读写,单位:MB) 17 CAST(t.io_stall/1000 as decimal(12,2)) as io_stall_s,--IO等待时间(单位:S) 18 CAST(100.0 * t.io_stall/SUM(t.io_stall) over() as decimal(12,2)) io_stall_pict,--IO等待占总等待时间的百分比 19 ROW_NUMBER() over(order by io_stall desc) rn --行号 20 from 21 dbio t 22 order by t.io_stall desc
家家有老人
人人会变老
帮老就是帮未来的您