안녕하세요.
추석연휴동안 느려진 DB를 어떻게 해보려고, 이것 저것을 건드려 보려고 했는데... 잘 안되었네요.
그 중 하나가 ldf 파일이였는데... 전혀 개념없이 작업을 하려다 보니...
DB관련된 지식은 없는 그냥 inert, delete, update 문만 날리는 웹프로그래머 일을 하다보니... 이런 문제가 발생을 했네요.
LOG 파일 관련하여 궁금한 점이 여러개가 있는데... 하나씩 여쭤보려고 합니다.
DB관리자 없이 사이트를 운영하다 보니, 실데이터 DB를 건드려야 해서 위험성도 많이 따르다 보니... 그냥 돌아가면 놔두게 되었던 것 같습니다.
지금이라도 좀 알아보자는 심정으로 ...
http://www.sqler.com/608812 를 읽어보며... 이젠 내가 뭘해야 하는가를 고민해봤습니다.
1. 트랜잭션 로그 백업 하기
- 이를 어떻게 할까? 보니
데이터베이스 속성 > "트랜잭션 로그 전달" 이란 메뉴가 있고,
테스크 > 백업 > 백업유형 에 "트랜잭션 로그" 가 있는데 두개가 같은 역할을 하는 건가요?
2. 트랜잭선 로그 백업 후 로그 자르기를 해야 할까요?
그냥 커진 ldf 파일을 그대로 가지고 가도 될까요?
로그 백업을 한다고 하더라도 파일 사이즈는 줄지 않고, 내부만 비어진다고 하던데...
위 의 링크 글을 보면 5~8GB가 적당하다고 하셨는데...지금 저희 ldf 파일 크기는 훨신 더 큰 상태에 있습니다.
3. 커진 ldf 파일을 포기하고 mdf 파일만으로 DB를 복원 시킨 후 처음 부터 트랙잭션 로그백업을 하며 관리를 해도 될지...
"트랜잭션 백업직후 로그자르기 실패 확인 http://www.sqler.com/129852 " 을 보면 무슨 말인지 잘 모르겠고...
뭔가를 잘못했다가.. 큰일 날꺼 같기도 하고 해서.. .
트랜잭션 로그만 백업을 받고, 더 이상 크게 되는것만 막아도 될지.... 의견을 듣고 싶습니다.
현재 ldf 파일이 20GB라고 할 경우, 이를 5GB로 만들고 트랜잭션로그 관리를 통해 ldf 파일을 5GB로 유지 한다. 란 계획하에
아래와 같이 실행을 하면 될까요?
1. 데이터베이스 속성 > "트랜잭션 로그 전달" 이란 메뉴를 이용하여 트랜잭션 로그 백업
( backup Log admindb TO disk='c:\dbbackup\admindb.20080124.bak' 이 부분은 로그 백업을 했기 때문에 생략 )
2. backup log MYDB With truncate_only
3. backup log MYDB no_log
4. dbcc shrinkfile(MYDB_log, 5000)
5. ALTER DATABASE MYDB MODIFY file ( name = MYDB _log, maxsize = 5000mb )
으로 해서 LOG 파일을 5GB로 만들고 MAX SIZE 관리를 하면 될까요?
Comment 1
-
kk
2014.09.12 15:36
트랜잭션 로그 전달은 전혀 다른 것이므로 일단 신경쓰지마세요.
간단하게 설명드리면 로그 백업 하고, 파일 사이즈 줄이시면 됩니다.
1. backup Log admindb TO disk='c:\dbbackup\admindb.20080124.bak'
2. dbcc shrinkfile(MYDB_log, 5000)
이거 2개면 끝.
예외 상황이 있긴한데 일단 이렇게만 해보세요.