안녕하십니까?
SQL 서버 성능이 저하되고 쿼리가 늦게 실행되어 여기 저기 찾아보다가 트렌젝션 로그가 꽉 차면 성능이 떨어진다는 글이 있어 문의 드립니다.
최초 400MB로 된것을 제가 10GB로 늘려 놓으니까 1시간쯤 걸려서 용량이 늘어 나는 것을 확인 했습니다.
그래도 서버의 성능이 개선되지 않아 고민입니다.
혹시 트랜젝션의 로그를 줄이는게 맞나요? 아니면 늘려 놓는것이 맞나요?
로그용량으 1GB로 지정해 놓으면 1GB이상 늘어나지는 않는지요?
아니면 상시 주기적으로 로그를 정리하는 쿼리식을 실행하여야 하나요?
여러분들은 트랜젝션 로그를 어떻게 관리 하시나 궁금하여 문의 드립니다.
부탁드립니다.
그럼 즐거운 하루 되세요!!
Comment 1
-
catchv
2020.05.21 16:28
트랜잭션 로그는 트랜잭션이 발생되는 원인(insert, update, delete 등)을 기록하여 ACID를 보장해 줍니다.
트랜잭션 로그는 삭제가 아닌 백업을 받으셔야 합니다. 백업을 받으면 트랜잭션로그는 비워지게 되며(파일 크기는 그대로) 트랜잭션이 발생하면 다시 채워지게 됩니다.
DBCC SQLPERF(LOGSPACE)로 현재 파일크기 대비 사용율을 확인하실 수 있습니다.
로그 파일은 채워질 경우 설정 값(증가 값)에 따라 증가 됩니다. 로그 파일은 생성 및 증가는 시간이 소요되며 그 시간 동안은 성능 저하가 발생됩니다. 그래서 보통은 로그 백업 시간 단위에 사용되는 트랜잭션 최대양으로 로그 파일 사이즈를 설정합니다.