본문 바로가기

Computer/Database

MSSQL2008에서 트랜잭션 로그 자르기

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)   
------------------------------------------------------------------

출처 :  http://blog.sooli.com/371

'Computer > Database' 카테고리의 다른 글

디비간 연결  (0) 2012.11.05
트랜잭션 로그 백업(Transaction Log Backup)에 관하여  (0) 2012.03.20
데이터베이스 기본 이론  (0) 2012.03.20
char와 varchar 차이  (0) 2012.02.16
MS-SQL Stored Procedure  (0) 2011.06.28