728x90

 

복사http://blog.naver.com/pjhpjh5827/60166951893

SQL2008버젼 부터의 로그 축소방법이 공유된 것이 없어 글을 올립니다.

아래의 쿼리로 보통 로그파일의 용량을 축소하지만,
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

728x90

'프로그래밍 > MS_SQL' 카테고리의 다른 글

Session 관리 ( Inproc,StateServer,SQL Server )  (0) 2013.06.14
mssql 2008 로그 축소  (0) 2013.04.29
MS SQL 버전 확인 법  (0) 2012.10.19
MSSQL 2008 로그 축소 방법  (0) 2012.09.11
MS SQL 외래키 지정  (0) 2012.09.10
728x90

아래의 쿼리로 보통 로그파일의 용량을 축소하지만,
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

728x90

'프로그래밍 > 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

+ Recent posts