SELECT LEFT ([mf].[physical_name], 2) AS [DriveLetter], DB_NAME ([vfs].[database_id]) AS [Database], [mf].[physical_name] [PhysicalName], [vfs].[size_on_disk_bytes] / 1024 / 1024 [FileSizeMB], [vfs].[io_stall], [vfs].[io_stall_read_ms], CAST([io_stall_read_ms] / ( 1.0 + [num_of_reads] ) as numeric(10,1)) as 'avg_read_stall_ms', [vfs].[io_stall_write_ms], CAST([io_stall_write_ms] / ( 1.0 + [num_of_writes] ) as numeric(10,1)) as 'avg_write_stall_ms', [io_stall_read_ms] + [io_stall_write_ms] as [io_stalls], [num_of_reads] + [num_of_writes] as [total_io], CAST(([io_stall_read_ms]+[io_stall_write_ms]) / ( 1.0 + [num_of_reads] + [num_of_writes]) as numeric(10,1)) as 'avg_io_stall_ms', [TotalLatency] = CASE WHEN [vfs].[num_of_reads] = 0 AND [vfs].[num_of_writes] = 0 THEN 0 ELSE [vfs].[io_stall] / ([vfs].[num_of_reads] + [vfs].[num_of_writes]) END, [ReadLatency] = CASE WHEN [vfs].[num_of_reads] = 0 THEN 0 ELSE [vfs].[io_stall_read_ms] / [vfs].[num_of_reads] END, [WriteLatency] = CASE WHEN [vfs].[num_of_writes] = 0 THEN 0 ELSE [vfs].[io_stall_write_ms] / [vfs].[num_of_writes] END, [vfs].[num_of_reads] [NumOfReads], [vfs].[num_of_bytes_read] [NumOfBytesRead], [AvgBytesPerRead] = CASE WHEN [vfs].[num_of_reads] = 0 THEN 0 ELSE [vfs].[num_of_bytes_read] / [vfs].[num_of_reads] END, [vfs].[num_of_writes] [NumOfWrites], [vfs].[num_of_bytes_written] [NumOfBytesWritten], [AvgBytesPerWrite] = CASE WHEN [vfs].[io_stall_write_ms] = 0 THEN 0 ELSE [vfs].[num_of_bytes_written] / [vfs].[num_of_writes] END, [AvgBytedPerIO] = CASE WHEN [vfs].[num_of_reads] = 0 AND [vfs].[num_of_writes] = 0 THEN 0 ELSE ([vfs].[num_of_bytes_read] + [vfs].[num_of_bytes_written]) / ([vfs].[num_of_reads] + [vfs].[num_of_writes]) END FROM [sys].[dm_io_virtual_file_stats] (NULL, NULL) [vfs] INNER JOIN [sys].[master_files] [mf] ON [vfs].[database_id] = [mf].[database_id] AND [vfs].[file_id] = [mf].[file_id] ORDER BY [TotalLatency] DESC GO