This StackOverflow answer[^] might help. You need a combination of sp_spaceused for the data[^] and some low-level access for the transaction log[^].
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer