很久没有写过博客,之前也零零碎碎写过一些SQL Server的优化笔记,分享一下最近遇到的几例SQL Server的优化问题
现像:系统每天不规律的卡顿,一般持续1~2小时,大部分在下午3点左右
排查:
- 数据库没有死锁
- 只有一条语句超过毫秒级
- 系统卡顿期间,直接使用SQL Server Management有正常操作数据库
- 通过监控日志可以发现有磁盘的爆发性增长,一段时间后又会回归正常
原因:
综合分析,考虑Data与Log文件增长给系统带来的影响,调整为每次扩大10%,定期观察余量,在闲时手动扩充,问题解决。
查看数据库剩余空间(sa账号登录):
EXEC sp_spaceused;
查看Data文件及Log文件的增长记录:
DECLARE @TraceFile AS VARCHAR(MAX);
SELECT @TraceFile=path FROM sys.traces;
SELECT databasename,filename,starttime FROM ::fn_trace_gettable(@TraceFile,default)
WHERE eventclass= 92 OR eventclass= 93;