如何检查最后进行自动增长的时间?

时间:2010-09-20 15:28:53

标签: sql sql-server-2005 tsql

在sql server 2005中,自动增长是按大小启用的。 有没有办法检查数据和日志文件的自动增长何时发生?

2 个答案:

答案 0 :(得分:19)

SSMS,右键单击您的数据库,转到报告 - >标准报告 - >磁盘使用情况并查找自动增长/自动收缩事件。

希望您设置了正确的跟踪级别,否则您可能会遇到一些查找历史记录的问题。

答案 1 :(得分:17)

以下是如何在不使用sql报告的情况下执行此操作(链接,后跟相关的TSQL): https://sqlblog.org/2007/01/11/reviewing-autogrow-events-from-the-default-trace

DECLARE @path NVARCHAR(260);

SELECT 
   @path = REVERSE(SUBSTRING(REVERSE([path]), 
   CHARINDEX('\', REVERSE([path])), 260)) + N'log.trc'
FROM    sys.traces
WHERE   is_default = 1;

SELECT 
   DatabaseName,
   [FileName],
   SPID,
   Duration,
   StartTime,
   EndTime,
   FileType = CASE EventClass 
       WHEN 92 THEN 'Data'
       WHEN 93 THEN 'Log'
   END
FROM sys.fn_trace_gettable(@path, DEFAULT)
WHERE
   EventClass IN (92,93)
ORDER BY
   StartTime DESC;