단순 모드 ( Simple Mode)
SQL Server 엔진에서 트랜잭션 로그를 주기적으로 비워줍니다.
단순 모드라고 해서 트랜잭션 로그가 기록되지 않는 것은 아닙니다.
트랜잭션 로그가 계속 증가하는 원인 분석
단순모드 DB 의 트랜잭션 로그 사용량이 갑자기 증가하기 시작하였습니다.
처음에는 SQL Server 에서 비워주기 전 로그가 많이 쌓여 사용량이 증가한 것으로 생각하였지만,
4시간이 지나도록 정리되지 못하고 사용량이 67% 까지 증가하고 있었습니다.
왜 정리를 못하는지 확인해보니, 2184 세션의 트랜잭션이 84910 초동안 활성화 되어 있었습니다.
그래서 해당 트랜잭션 로그 시점 이후의 로그들은 정리되지 못하고 계속 쌓이고 있었습니다.
해당 세션을 KILL 한 후 로그 사용량을 확인해보니 0.7% 로 감소하였습니다.
오랫동안 활성화 되어 있는 트랜잭션을 확인하는 쿼리
아래 쿼리를 참고해 주세요.
더 자세한 내용은 https://mozi.tistory.com/362 경로에 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | SELECT p.spid , p.cmd , p.status , p.loginame , p.open_tran , datediff(s, p.last_batch, getdate()) as [wait tims(s)] , q.text FROM master.dbo.sysprocesses AS p WITH(NOLOCK) CROSS APPLY sys.dm_exec_sql_text (p.sql_handle) AS q WHERE p.open_tran > 0 AND p.spid > 50 AND EXISTS ( SELECT 1 FROM master.dbo.syslockinfo WHERE req_spid = p.spid and rsc_type <> 2 ) ORDER BY datediff(s, p.last_batch, getdate()) DESC | cs |