Maystyle :
Admin : New post
Guestbook
Local
media
Catergories
Recent Articles
Recent Comments
Recent Trackbacks
Calendar
Tag
Archive
Link
Search
 
  Microsoft SQL Server 로그 관련 장애 해결 방법 
작성일시 : 2008. 5. 13. 15:01 | 분류 : SQL Server/Administration

오랫만에 원론적인 애기를 한번 할까 합니다.
뭐 단편화된 나만의  스킬일 수 도 있고... 모두가 다들 겪는 일이지만, 종종 로그를 삭제 하기 위해 로그 백업을 받았음에도 로그가 삭제 되지 않는 경우가 있습니다.

자 왜? 그렇게 된 것일까요?
그리고 어떻게 해야 할 까요?
로그에 대한 내용은 http://maystyle.tistory.com/257 를 참조 하시기 바랍니다.

먼저 로그가 왜 안 잘리는지 확인 합니다.

dbcc opentran(DB 명)
이 명령어를 통해 활성 트랜젝션의 여부 및 크기를 확인 할 수 있습니다.
즉 활성 트랜젝션이 크면 당연히 해당 로그는 활성이기 때문에 잘리지 않는 것입니다.

그리고 해당 로그의 사용현황을 보기 의해서 dbcc sqlperf(logspace) 를 사용하시면 로그 사용 여부 및 상태를 확인 할 수 있습니다.

그리고 다른 이유가 존재 한다... 즉 이미 Dirty Page 가 된 로그가 잘리지 않고 있다면 다음 쿼리를 사용합니다.
select name, recovery_model_desc, log_reuse_wait_desc from sys.databases
여기서 log_reuse_wait_desc 를 확인 하면 어떤 이유 때문에 사용 되지 않고 있는지 알 수 있습니다.

만약 게시 및 배포와 관련된 문제 (게시는 및 배포는 되어 있으나 구독자가 적용하지 안아 로그가 활성으로 표시되는 문제)는 게시 및 배포 삭제 후 EXEC sp_repldone @xactid = NULL, @xact_segno = NULL, @numtrans = 0, @time = 0, @reset = 1 go 를 수행하여 활성으로 표시해 주시면 됩니다.

[참고]
sp_repldone
http://msdn2.microsoft.com/ko-kr/library/ms173775.aspx
데이터베이스 미러링 모니터(상태 페이지)
http://msdn2.microsoft.com/ko-kr/library/ms365413.aspx
데이터베이스 미러링 모니터(경고 페이지)
http://msdn2.microsoft.com/ko-kr/library/ms365355.aspx

|