タイトル通り。どの程度の頻度で行われているかを調べたいとき。


declare @filename varchar(500) 

--//トレースファイルのパスを取得
select @filename = path from sys.traces
where is_default = 1 

--//EventClass
--92:Data File Auto Grow
--93:Log File Auto Grow
--94:Data File Auto Shrink
--95:Log File Auto Shrink

select
HostName
,EventClass
,DatabaseName
,Filename
,StartTime
,EndTime
,(Duration/1000.0) as かかった秒
,(IntegerData*8.0/1024) as 増えたMB
from sys.fn_trace_gettable(@filename, default) 
where EventClass between 92 and 95
and DatabaseName = DB_NAME() 
order by StartTime desc

データベース拡張だけではなくいろんなログが取れるから結構便利。EventClassの定義をとる関数とかないかと探してみたけど見つからなかった。誰か教えてください。定義自体はココに載ってる。