Since SQL Server 2005 we have had default trace; we can mine it to see how often the databases are growing and by how much. You might not get any information nature of the default trace. However, if information is there you can use following script to get growth information.
-- SQLCanada, Mohit K. Gupta
-- Script from https://sqlcan.wordpress.com
-- Last Updated: May 12, 2012
------------------------------------------
-- Get Default Trace File name
DECLARE @TraceFileName NVARCHAR(512)
SELECT @TraceFileName = path
FROM sys.traces
WHERE id = 1
-- Database Growth by Database by Date
SELECT DB_Name(DatabaseID) AS DatabaseName,
CASE WHEN EventClass = 92 THEN
'Data File'
ELSE
'Log File'
END AS FileType,
Convert(varchar(8),StartTime,112) AS GrowthDate,
Sum((IntegerData*8)/1024) AS GrowthInMB
FROM sys.fn_trace_gettable(@TraceFileName,default)
WHERE (EventClass = 92) OR (EventClass = 93)
GROUP BY DB_Name(DatabaseID), EventClass, Convert(varchar(8),StartTime,112)
ORDER BY DatabaseName,
GrowthDate
-- Total Growth by Date Only
SELECT CASE WHEN EventClass = 92 THEN
'Data File'
ELSE
'Log File'
END AS FileType,
Convert(varchar(8),StartTime,112) AS GrowthDate,
Sum((IntegerData*8)/1024) AS GrowthInMB
FROM sys.fn_trace_gettable(@TraceFileName,default)
WHERE (EventClass = 92) OR (EventClass = 93)
GROUP BY EventClass, Convert(varchar(8),StartTime,112)
ORDER BY GrowthDate
Example output: