Get the space used for each database

SELECT
        DB.name,
        MF.physical_name,
        MF.type_desc AS FileType,
        MF.size * 8 / 1024 AS FileSizeMB,
        fileproperty(MF.name, 'SpaceUsed') * 8/ 1024 AS UsedSpaceMB
FROM
        sys.master_files MF
        JOIN sys.databases DB ON DB.database_id = MF.database_id
ORDER BY
        DB.name,
        FileSizeMB DESC

EXEC sp_msforeachdb @command1='use [?] exec sp_spaceused'

USE <DatabaseName>
EXEC sp_spaceused

Using DBCC SQLPERF to check log free space for a SQL Server database:

DBCC SQLPERF(logspace)

Is this useful?