Since I don't have the luxury of setting up event notifications on all my servers, in SQL Server 2005 I can use the default trace to monitor autogrow events... this helps to prepare for increased disk space usage, and also lets me know if my log backups are happening frequently enough.
This is probably covered in a ton of other places, but the question comes up enough that I thought I would add my quick & dirty methodology. Since I don't want to hardcode the names of the individual trace files I'm interested in, I use the primitive method of inserting a brief directory listing of *.trc from the folder I know stores the default traces (the only element I really hardcode here).
If you only care about the most recent rolling default trace file, then it is a little easier to get just that file (see Tibor's comments here). Just be aware that there are times when the most recent trace file is empty, because it was just initiated.
The only other caveat is that if you store your own trace files in this same folder, you will want to be sure you use a different naming scheme for your own trace files. SQL Server 2005's default trace keeps 5 rolling trace files of roughly 20 MB each in this folder, but you won't necessarily want to include your own traces in the calculations here, as they can potentially be much larger, irrelevant or obsolete. (Unless, of course, you set up a custom server-side trace that is used at least partially to capture autogrow events.)
DECLARE
@path VARCHAR(255),
@cmd VARCHAR(300);
-- customize this, of course, if necessary:
SET @path = 'C:\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\';
SET @cmd = 'dir /b ' + @path + '*.trc';
DECLARE @files TABLE
(
fn VARCHAR(64)
);
INSERT @files
EXEC master..xp_cmdshell @cmd;
DELETE @files
WHERE fn IS NULL;
SELECT
e.DatabaseName,
e.[FileName],
e.SPID,
e.Duration,
e.StartTime,
e.EndTime,
FileType = CASE e.EventClass
WHEN 92 THEN 'Data'
WHEN 93 THEN 'Log'
END,
[TraceFile] = f.fn
FROM
@files f
CROSS APPLY
fn_trace_gettable(@path + f.fn, DEFAULT) e
WHERE
e.EventClass IN (92,93)
-- AND f.fn LIKE 'log[_][0-9]%.trc'
ORDER BY
e.StartTime DESC;