如何查看数据文件或者Log文件是否增长过?

在论坛看到一个帖子,说数据库变慢了一段时间,发现这段时间数据库文件的最后修改时间跟变慢的世界一致,想知道这段时间是否文件确实增长了。

 

其实SQL Server提供了数据增长的Event,而且Default Trace里面就记录了。

 

下面我们做个测试,我创建了一个新的数据库,创建表然后插入数据:

 

create table test(test varchar(100))

go

insert into test values (replicate('a',100))

go 100000

 

现在查询Default Trace:

declare @TraceFile as varchar(max)

select @TraceFile =  path from sys.traces

 

select DatabaseName,FileName,StartTime

 from ::fn_trace_gettable(@TraceFile,default)--替换你自己的Trace文件地址

where EventClass = 92 or EventClass = 93 and StartTime > '2013-06-2813:09:49.767'

 

关于Event 92和93的解释:

 

select * from sys.trace_events where trace_event_id = 92  or trace_event_id = 93

 

结果如下:

 

可以看到数据库增长的记录。

posted @ 2013-06-28 18:42  爱生活,爱编程  阅读(198)  评论(0编辑  收藏  举报