在論壇看到一個帖子,說數據庫變慢了一段時間,發現這段時間數據庫文件的最后修改時間跟變慢的世界一致,想知道這段時間是否文件確實增長了。
?
其實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
?
結果如下:
?
可以看到數據庫增長的記錄。