SQL Server 2000/2005/2008 데이터베이스 로 그 를 삭제 하거나 압축 하 는 방법

데이터베이스 로그 의 증 가 는'무제 한'으로 설정 되 어 있 기 때문에 시간 이 길 면 로그 파일 이 클 수 밖 에 없습니다.400 G 의 데이터 베 이 스 는 600 G 의 LOG 파일 이 있어 디스크 공간 을 심각하게 차지 합 니 다.주로 OLAP 를 하기 때문에 데이터베이스 자체 에 큰 변동 이 없 기 때문에 로그 도 별로 작용 하지 않 기 때문에 데이터베이스 로그 파일 을 작 게 줄 이거 나 삭제 할 방법 을 강구 합 니 다.
인터넷 에서 관련 해결 방안 을 검색 한 후에 얻 은 답 은 풍부 하고 다 채 롭 지만 진정 으로 효과 가 있 는 방안 은 많 지 않 습 니 다.여기 서 csdn 에서 찾 은 방법 을 공유 합 니 다.이 방법 은 SQL Server 2005 와 SQL Server 2008 이 데이터베이스 로 그 를 줄 이 는 차이 점 을 다 루 는 데 도움 이 된다.이와 함께 이 방법 은 600 G 의 로 그 를 10m 까지 줄 이 는 데 30 초 밖 에 걸 리 지 않 는 효율 이 높다.
마지막 으로 코드 첨부:
SQL Server 2000 에 적용 하 는 방법

DUMP TRANSACTION [jb51] WITH NO_LOG
BACKUP LOG [jb51] WITH NO_LOG
DBCC SHRINKDATABASE([jb51])
데이터베이스 이름
SQL Server 2005 에 적용 되 는 방법

Backup Log [jb51] WITH no_log
GO
DUMP TRANSACTION [jb51] WITH no_log
GO
USE jb51 
DBCC SHRINKFILE (2)
GO
설명:SQL Server 2008 에서 파일 과 로그 관 리 를 최적화 시 켰 기 때문에 상기 문 구 는 SQL 2005 에서 실 행 될 수 있 으 나 SQL 2008 에서 취소 되 었 습 니 다.

USE[master]
GO
ALTER DATABASE jb51 SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE jb51 SET RECOVERY SIMPLE --    
GO
USE jb51
GO
DBCC SHRINKFILE (N'DNName_Log', 11, TRUNCATEONLY)

GO

USE[master]
GO
ALTER DATABASE jb51 SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE jb51 SET RECOVERY FULL --       
GO
그 중 jb 51 은 데이터베이스 이름,DN Name로그 이름 으로 찾 아 보 세 요.구체 적 인 설명 은 이 글 을 참고 할 수 있 고 그림 과 글 방법 도 있 습 니 다https://www.jb51.net/article/136523.htm
이 글 은 여기까지 소개 되 었 습 니 다.필요 하신 분 들 은 참고 하 셔 도 됩 니 다.앞으로 많은 응원 부 탁 드 리 겠 습 니 다.

좋은 웹페이지 즐겨찾기