SQL日志文件快速增长

SQL日志文件快速增长

我发现 SQL 数据库日志文件增长迅速并占满了硬盘空间,每天的增长速度约为 190MB。

服务器上正在运行 Sharepoint,我如何检查是什么原因导致日志文件大小增加?可能是因为计划的 SharePoint 抓取和 DB 备份?

我打算收缩一些日志文件(例如:Report Server日志文件),如何确定这些日志文件收缩后不会产生任何副作用?

答案1

您能分享以下结果吗?您是否定期进行事务日志备份?

select name, log_reuse_wait_desc from sys.databases

DBCC OPENTRAN()

您需要适当调整事务日志的大小以便不会启动自动增长,而且频繁缩小它们并不是一个好主意。

编辑:根据您的评论编写代码来检查哪些日志文件最近增长了。

DECLARE @filename VARCHAR(255) 
SELECT @FileName = SUBSTRING(path, 0, LEN(path)-CHARINDEX('\', REVERSE(path))+1) + '\Log.trc'  
FROM sys.traces   
WHERE is_default = 1;  

--Check if the data and log files auto-growed. Look for tempdb, log files etc.
SELECT 
    gt.ServerName
    , gt.DatabaseName
    , gt.TextData
    , gt.StartTime
    , gt.Success
    , gt.HostName
    , gt.NTUserName
    , gt.NTDomainName
    , gt.ApplicationName
    , gt.LoginName
FROM [fn_trace_gettable](@filename, DEFAULT) gt 
JOIN sys.trace_events te ON gt.EventClass = te.trace_event_id 
WHERE EventClass in ( 92, 93 ) --'Data File Auto Grow', 'Log File Auto Grow'
ORDER BY StartTime; 

相关内容