[출처] SQL2008 이후 버젼 로그 축소 방법
안녕하세요. 주디아줌마입니다^^
아는 분들이 많으시지만 혹시나 해서 올려봅니다.
>> 트랜잭션 로그 축소 참고 링크
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
1. SQL2005 BOL부터 언급되어 있던 부분이었는데요, WITH TRUNCATE_ONLY, WITH
NO_LOG 옵션은 SQL2008 이후 버젼에서는
지원되지 않습니다.
BACKUP LOG AdventureWorks2008 WITH TRUNCATE_ONLY
메시지 155, 수준 15, 상태 1, 줄 1
'TRUNCATE_ONLY'은(는) 인식할 수 없는 BACKUP 옵션입니다.
-- 또는
BACKUP LOG AdventureWorks2008 WITH NO_LOG
메시지 3032, 수준 16, 상태 2, 줄 1
하나 이상의 옵션(no_log)이 이 문에 대해 지원되지 않습니다. 지원되는 옵션에 대해서는 설명서를 참조하십시오.
2. 로그 축소 방법(SQL2008 이후~)
CREATE DATABASE shrinkdemo
ALTER DATABASE shrinkdemo SET RECOVERY FULL
go
USE shrinkdemo
go
CREATE TABLE biggie (a int, padding char(4000) default ' ')
go
INSERT biggie (a)
SELECT a.object_id
FROM sys.objects a
CROSS JOIN sys.objects b
CROSS JOIN sys.objects c
go
EXEC sp_helpdb shrinkdemo
go
--name size
--shrinkdemo 667904 KB
--shrinkdemo_log 770752 KB
-- 복구모델을변경
ALTER DATABASE shrinkdemo SET RECOVERY SIMPLE
go
-- 로그를잘라낸다.
DBCC SHRINKFILE(shrinkdemo_log)
go
EXEC sp_helpdb shrinkdemo
go
-- 축소되었다.
--name size
--shrinkdemo 667904 KB
--shrinkdemo_log 576 KB
-- 복구모델을변경
ALTER DATABASE shrinkdemo SET RECOVERY FULL
go
수고하세요^^