• There you go ...

    SET TRAN ISOLATION LEVEL READ UNCOMMITTED

    SELECT

    ISNULL(DB_NAME(database_id), 'ResourceDb') AS DatabaseName

    , CAST(COUNT(row_count) * 8.0 / (1024.0) AS DECIMAL(28,2))

    AS [Size (MB)]

    FROM sys.dm_os_buffer_descriptors

    GROUP BY database_id

    ORDER BY DatabaseName

    That gives you memory usage per database. If you play a bit more and use aggregates, you can get a total per instance.

    Credits: The T-SQL query is taken from Ian W. Stirk's book, "SQL Server DMVs in Action". Fantastic book on Dynamic Management Views.