在sql server 2005中,自动增长是按大小启用的。 有没有办法检查数据和日志文件的自动增长何时发生?
答案 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;