SQL Script for getting DB information (Database, Logfiles and sizes)
Short script for inventory the SQL databases:
SELECT DB_NAME(mf.database_id) AS databaseName, name as File_LogicalName, case when type_desc = ‘LOG’ then ‘Log File’ when type_desc = ‘ROWS’ then ‘Data File’ Else type_desc end as File_type_desc ,mf.physical_name ,num_of_reads ,num_of_bytes_read ,io_stall_read_ms ,num_of_writes ,num_of_bytes_written ,io_stall_write_ms ,io_stall ,size_on_disk_bytes ,size_on_disk_bytes/ 1024 as size_on_disk_KB ,size_on_disk_bytes/ 1024 / 1024 as size_on_disk_MB ,size_on_disk_bytes/ 1024 / 1024 / 1024 as size_on_disk_GB FROM sys.dm_io_virtual_file_stats(NULL, NULL) AS divfs JOIN sys.master_files AS mf ON mf.database_id = divfs.database_id AND mf.file_id = divfs.file_id ORDER BY num_of_Reads DESC
Found on SQLAuthority.com (in the comments of the blog post from sreedhar).
DB_NAME(mf.database_id) AS databaseName,
name as File_LogicalName,
case
when type_desc = ‘LOG’ then ‘Log File’
when type_desc = ‘ROWS’ then ‘Data File’
Else type_desc
end as File_type_desc
,mf.physical_name
,num_of_reads
,num_of_bytes_read
,io_stall_read_ms
,num_of_writes
,num_of_bytes_written
,io_stall_write_ms
,io_stall
,size_on_disk_bytes
,size_on_disk_bytes/ 1024 as size_on_disk_KB
,size_on_disk_bytes/ 1024 / 1024 as size_on_disk_MB
,size_on_disk_bytes/ 1024 / 1024 / 1024 as size_on_disk_GB
FROM sys.dm_io_virtual_file_stats(NULL, NULL) AS divfs
JOIN sys.master_files AS mf ON mf.database_id = divfs.database_id
AND mf.file_id = divfs.file_id
ORDER BY num_of_Reads DESC