首页 > 代码库 > SQL Server 默认跟踪应用4 -- 检测日志文件自动增长
SQL Server 默认跟踪应用4 -- 检测日志文件自动增长
SQL Server 默认跟踪应用4 -- 检测日志文件自动增长
用户抱怨SQL Server数据库运行非常慢。通过默认跟踪的这个查询,可以识别出log file autogrow活动导致的长时间运行。为什么如此之慢?
SELECT te.name AS [trace_events_name] , t.DatabaseName , t.NTDomainName , t.ApplicationName , t.LoginName , t.Duration , t.StartTime , t.EndTime FROM sys.fn_trace_gettable(CONVERT(VARCHAR(150), ( SELECT TOP 1 f.value FROM sys.fn_trace_getinfo(NULL) f WHERE f.property = 2 )), DEFAULT) T JOIN sys.trace_events TE ON T.EventClass = TE.trace_event_id WHERE te.trace_event_id = 93 AND t.StartTime BETWEEN ‘2012-04-17 13:00:00.000‘ AND ‘2012-04-17 15:00:00.000‘
有些因素导致log file autogrow性能较差,例如:
1) 如果一个大型事务导致日志增长,SQL事务需要等待日志自动增长完成。该事务需要写入SQL Server事务日志文件。通常,我们会在SQL错误日志中看到一条信息。
2) 自动增长和自动收缩可能在SQL Server数据库上导致冲突。
3) 衡量在SQL事务日志文件上的物理碎片。
4) 文件立刻初始化(Instant file initialization)只与数据文件有关。将不会有利日志文件增长。
5) 最小化事务的大小。正常提交有助于维护更小的日志文件。
6) 跟进存储性能。收集Perfmon性能计数器信息,例如:Logical Write Bytes/sec和Logical Read Bytes/sec。
本文出自 “滴水石穿” 博客,请务必保留此出处http://ultrasql.blog.51cto.com/9591438/1582298
SQL Server 默认跟踪应用4 -- 检测日志文件自动增长
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。