SQL Server日志文件不断增长处理方法
作者:网络转载 发布时间:[ 2013/2/7 9:36:13 ] 推荐标签:
使用以下脚本检查:
DBCC SQLPERF(LOGSPACE)
GO
SELECT name,recovery_model_desc,log_reuse_wait,log_reuse_wait_desc
FROM sys.databases
GO
如果Log Space Used(%)很高,要马上定位为什么不能被清除。如果状态为:LOG_BACKUP,意味(此处原为以为,感谢kalagooooo的细心发现,现以改正过来)着SQLServer,意味着SQLServer等待着日志备份。要检查是否需要做日志备份。
步骤2:检查久的活动事务:
如果大部分日志都在使用中且重用状态为:ACTIVE_TRANSACTION,那么要看看久的事务是谁申请的:
DBCC OPENTRAN
GO
SELECT *
FROM sys.dm_exec_sessions AS t2 ,
sys.dm_exec_connections AS t1
CROSS APPLY sys.dm_exec_sql_text(t1.most_recent_sql_handle) AS st
WHERE t1.session_id = t2.session_id
AND t1.session_id > 50
执行后返回:

找出久的事务之后,先要检查是否有问题,如果有问题,那么好从应用层面把事务提交或回滚。如果实在不行,那使用KILL SPID来杀掉进程。

sales@spasvo.com