显示所有数据库IO以及IO等待时间总结

哈哈 阅读:238 2021-06-01 21:02:22 评论:0

以下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 

标签:数据库
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
排行榜
KIKK导航

KIKK导航

关注我们