• As Jacob suggests, you can look at backup history for an approximation.

    Something like this will give you an average database size per month, which may be "good enough" for history. Set up a data capture going forward if you want better detail.

    select

    substring(a.database_name,1,30) as 'Database',

    datepart(year,a.backup_start_date) as 'year',

    datepart(month,a.backup_start_date) as 'month' ,

    avg(cast((a.backup_size /1073741824) as decimal (9,2)))as 'Avg Gig'

    FROM msdb.dbo.backupset a

    join msdb.dbo.backupset b on a.server_name = b.server_name and a.database_name = b.database_name

    WHERE a.type = 'D' and b.type = 'D' -- FULL Backup

    and a.database_name = 'My_Database'

    GROUP BY a.database_name, datepart(year,a.backup_start_date),datepart(month,a.backup_start_date)

    order bya.database_name, datepart(year,a.backup_start_date) desc,datepart(month,a.backup_start_date) desc