MSSQL 트랜잭션 로그파일 삭제 및 로그 축소
페이지 정보
본문
* 트랜젝션 로그 삭제하기
backup log 디비명 with no_log -- 로그 백업을 통한 여유 공간 확보
dbcc shrinkdatabase(디비명, truncateonly) -- 실제 로그 파일 줄이기
dbcc shrinkdatabase(디비명, 50) -- 로그파일을 50MB로 제한
* MSSQL 2008 의 경우
USE 디비명;
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE 디비명
SET RECOVERY SIMPLE
GO
-- Shrink the truncated log file to 1 MB.
dbcc shrinkfile (디비명, 1)
GO
-- Reset the database recovery model.
ALTER DATABASE 디비명
SET RECOVERY FULL
GO
* MSSQL 2005 의 경우
use 디비명
sp_helpfile -- 로그파일 정보 확인
backup log 디비명 with no_log
dbcc shrinkfile (디비로그파일, 10) -- 로그파일을 10MB로 축소
* MSSQL 2000 의 경우
use 디비명
sp_helpfile -- 로그파일 정보 확인
backup log 디비명 with truncate_only
dbcc shrinkfile (디비로그파일, 10) -- 로그파일을 10MB로 축소
===================================================================
-- 로그파일의 정보를 확인합니다.
dbcc loginfo -- 관리자 실행권한 , 사용자 권한일때는 사용불가
-- 현재 지정된 디비가 사용하는 mdf 및 ldf파일의 경로, 이름 및 크기를 확인합니다.
exec sp_helpfile
-- 위에서 정해준 디비의 로그를 백업해 줍니다.
backup Log 디비명 to disk='d:\dbbackup\temp\testdb.bak'
go
-- 트랜잭션 로그파일을 최소의 단위로 축소합니다.
backup log 디비명 with truncate_only
-- 트랜잭션 로그파일을 삭제합니다.
backup log testdb with no_log
-- 트랜잭션 로그파일을 10메가로 생성합니다.
dbcc shrinkfile (디비명_log, 10)
-- mdf와 ldf파일이 제대로 잘 리사이징 되었는지 확인합니다.
exec sp_helpfile
모든 작업이 잘 마무리 되었다면, 이제는 갑작스런 트랜잭션로그의 증가로 문제가 되는 것을 방지하기 위해 트랜잭션로그파일의 최대크기를 지정해놓는 방법도 좋습니다.
alter database testdb
modify file ( name = testdb_log, maxsize = 200 mb )
go
위 의 과정을 진행하시면 트랜잭션로그는 위에서 지정한데로 200메가를 한계치로 생성 삭제 됩니다.
트랜잭션로그의 용량은 데이터의 중요도 및 규모에 따라 정책적으로 유지해야 하는 부분입니다.
200메가는 예제로 적어놓은 사이즈입니다.
또한 위의 과정 중 축소와 삭제는 둘 중 원하시는 방법을 선택적으로 사용하시면 됩니다.
관련자료
http://unions5.tistory.com/84
http://gontop.blog.me/130105664173
backup log 디비명 with no_log -- 로그 백업을 통한 여유 공간 확보
dbcc shrinkdatabase(디비명, truncateonly) -- 실제 로그 파일 줄이기
dbcc shrinkdatabase(디비명, 50) -- 로그파일을 50MB로 제한
* MSSQL 2008 의 경우
USE 디비명;
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE 디비명
SET RECOVERY SIMPLE
GO
-- Shrink the truncated log file to 1 MB.
dbcc shrinkfile (디비명, 1)
GO
-- Reset the database recovery model.
ALTER DATABASE 디비명
SET RECOVERY FULL
GO
* MSSQL 2005 의 경우
use 디비명
sp_helpfile -- 로그파일 정보 확인
backup log 디비명 with no_log
dbcc shrinkfile (디비로그파일, 10) -- 로그파일을 10MB로 축소
* MSSQL 2000 의 경우
use 디비명
sp_helpfile -- 로그파일 정보 확인
backup log 디비명 with truncate_only
dbcc shrinkfile (디비로그파일, 10) -- 로그파일을 10MB로 축소
===================================================================
-- 로그파일의 정보를 확인합니다.
dbcc loginfo -- 관리자 실행권한 , 사용자 권한일때는 사용불가
-- 현재 지정된 디비가 사용하는 mdf 및 ldf파일의 경로, 이름 및 크기를 확인합니다.
exec sp_helpfile
-- 위에서 정해준 디비의 로그를 백업해 줍니다.
backup Log 디비명 to disk='d:\dbbackup\temp\testdb.bak'
go
-- 트랜잭션 로그파일을 최소의 단위로 축소합니다.
backup log 디비명 with truncate_only
-- 트랜잭션 로그파일을 삭제합니다.
backup log testdb with no_log
-- 트랜잭션 로그파일을 10메가로 생성합니다.
dbcc shrinkfile (디비명_log, 10)
-- mdf와 ldf파일이 제대로 잘 리사이징 되었는지 확인합니다.
exec sp_helpfile
모든 작업이 잘 마무리 되었다면, 이제는 갑작스런 트랜잭션로그의 증가로 문제가 되는 것을 방지하기 위해 트랜잭션로그파일의 최대크기를 지정해놓는 방법도 좋습니다.
alter database testdb
modify file ( name = testdb_log, maxsize = 200 mb )
go
위 의 과정을 진행하시면 트랜잭션로그는 위에서 지정한데로 200메가를 한계치로 생성 삭제 됩니다.
트랜잭션로그의 용량은 데이터의 중요도 및 규모에 따라 정책적으로 유지해야 하는 부분입니다.
200메가는 예제로 적어놓은 사이즈입니다.
또한 위의 과정 중 축소와 삭제는 둘 중 원하시는 방법을 선택적으로 사용하시면 됩니다.
관련자료
http://unions5.tistory.com/84
http://gontop.blog.me/130105664173
댓글목록
등록된 댓글이 없습니다.