WorkaHolic/MSSQL

SQL2008 이후 버젼 로그 축소 방법

2014. 11. 24. 17:59
반응형

[출처] SQL2008 이후 버젼 로그 축소 방법


안녕하세요. 주디아줌마입니다^^

아는 분들이 많으시지만 혹시나 해서 올려봅니다.

 

 

>> 트랜잭션 로그 축소 참고 링크

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

 

 

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


 


 

수고하세요^^

반응형