제2의 비엔지니어 인생관을 꿈꾸며

Posted
Filed under MSSQL

1. 복구 모델을 SIMPLE로 변경 후 DBCC SHRINKFILE을 수행 
 
2. BACKUP LOG <dbname> TO DISK = 'NUL' 을 실행 후 DBCC SHRINKFILE을 수행
 
3. 로그 백업을 받고 DBCC SHRINKFILE을 수행

USE [master]
GO
ALTER DATABASE [dbname] SET RECOVERY SIMPLE WITH NO_WAIT
GO

USE dbname
DBCC SHRINKFILE(dbname_Log,100)

USE [master]
GO
ALTER DATABASE [dbname] SET RECOVERY FULL WITH NO_WAIT
GO


MSSQL2008에서는 로그 정리하는 구문이 바뀌거나 없어졌습니다. SQL사이트에서 위 3가지 방법을 제시해주더군요. 전 1번만 알고 있었는데 단순모드로 변경 안해주더라도 작업을 실행할수 있는 방법이 있었다는걸 알게되었습니다.




트랙잭션로그정리(2005 버젼까지만 TRUNCATE_ONLY가 된다)

------------------------------------------------------------------  
USE Master  
GO  
BACKUP LOG DATABASE WITH TRUNCATE_ONLY  
------------------------------------------------------------------  
USE DATABASE  
DBCC SHRINKFILE(DBNAME_Log,100)  
------------------------------------------------------------------

2010/04/14 09:01 2010/04/14 09:01