아래의 쿼리로 보통 로그파일의 용량을 축소하지만,
WITH TRUNCATE_ONLY, WITH NO_LOG 옵션은 SQL2008 이후 버젼에서는 지원되지 않습니다.
BACKUP LOG MNET_BIlL_DB WITH TRUNCATE_ONLY 를 실행하면 아래와 같은 에러가 발생합니다.
'TRUNCATE_ONLY'은(는) 인식할 수 없는 BACKUP 옵션입니다.
#기존 사용 방법
-- 트랜잭션로그파일최소의단위로축소
BACKUP LOG MNET_BIlL_DB WITH TRUNCATE_ONLY
-- 트랜잭션로그파일을삭제
BACKUP log MNET_BIlL_DB WITH NO_LOG
-- 트랜잭션로그파일을10메가로생성
DBCC SHRINKFILE (MNET_BIlL_DB_log, 10)
SQL2008 이후 버젼부터는 아래의 방법으로 해결하시면 됩니다.
-- 복구모델을 SIMPLE로 변경 후 SHRINKFILE을 이용해 로그를 삭제 후 다시 복구모델을 FULL로 변경
EX)
EXEC sp_helpdb MNET_BIlL_DB
go
--namesize
--MNET_BIlL_DB667904 KB
--MNET_BIlL_DB_log770752 KB
-- 복구모델을변경
ALTER DATABASE MNET_BIlL_DB SET RECOVERY SIMPLE
go
-- 로그를잘라낸다.
DBCC SHRINKFILE(MNET_BIlL_DB_log)
go
EXEC sp_helpdb MNET_BIlL_DB
go
-- 축소되었다.
--namesize
--MNET_BIlL_DB667904 KB
--MNET_BIlL_DB_log 576 KB
-- 복구모델을변경
ALTER DATABASE MNET_BIlL_DB SET RECOVERY FULL
go
아래는 트랜잭션 로그 축소 참고 링크입니다.
http://www.sqler.com/index.php?_filter=search&mid=bColumn&search_target=title&search_keyword=2008&document_srl=347242
http://www.sqler.com/index.php?_filter=search&mid=bColumn&search_target=title&search_keyword=%ED%8A%B8%EB%9E%9C%EC%9E%AD%EC%85%98&document_srl=366033
http://www.sqler.com/index.php?_filter=search&mid=bColumn&search_target=title&search_keyword=%EB%A1%9C%EA%B7%B8&document_srl=105214
http://www.sqler.com/index.php?_filter=search&mid=bColumn&search_target=title&search_keyword=%EB%A1%9C%EA%B7%B8&document_srl=129640
[출처] [MSSQL] 로그 축소 방법 (SQL2008 이후) |작성자 박정환
'프로그래밍 > MS_SQL' 카테고리의 다른 글
mssql 2008 이후 로그 축소 (0) | 2012.11.27 |
---|---|
MS SQL 버전 확인 법 (0) | 2012.10.19 |
MS SQL 외래키 지정 (0) | 2012.09.10 |
MSSQL 테이블 소유자 변경 (0) | 2012.09.05 |
트랜젝션 고립화 수준 (0) | 2012.06.25 |