DB 로그삭제(파일축소) - Version 2 단일적용(간단1)
포스팅 개요
Version 1에서 동적 쿼리 방식을 이용한 Version 2 방식입니다. 자세한 내용은 마지막 참고 링크를 통해 확인하시고 오늘 포스팅한 예제 쿼리의 목적과 장점에 대해 먼저 알아보겠습니다.
- 트랜잭션 로그(transaction log)의 한계까지 가득 차 에러가 생길 때 사용합니다.
- 하드디스크 용량이 부족할 정도로 로그 크기가 커졌을 때 사용합니다.
- Sql Server 2005 이상을 기준으로 작성되었습니다.
- 이전 글 Version 1 단점이었던 [DB_NAME], [DB_NAME_Log]의 명칭을 자동으로 가져와 적용하기에 더 간편해졌습니다.
예제 쿼리
이전 버전과는 다른 점은 [DB_NAME]만 정확하게 적어주면 Log 파일의 Name을 가져와서 동작한다
USE [DB_NAME]
DECLARE @sQuery as nvarchar(max)
DECLARE @LogFileName as sysname
SET @sQuery = 'ALTER DATABASE ' + DB_NAME() + ' SET RECOVERY SIMPLE'
EXEC (@sQuery)
SELECT [name], [recovery_model_desc] FROM sys.databases WHERE [name] = DB_NAME()
SELECT @LogFileName = [Name] FROM sys.database_files WHERE type = 1
DBCC Shrinkfile(@LogFileName, 1)
SET @sQuery = 'ALTER DATABASE ' + DB_NAME() + ' SET RECOVERY FULL'
EXEC (@sQuery)
SELECT [name], [recovery_model_desc] FROM sys.databases WHERE [name] = DB_NAME()
SELECT * FROM sys.database_files
실행 결과
master 데이터베이스로 테스트하였습니다. 동적쿼리로 작업이 가능하기에 스케줄에 넣고 사용하는 버전도 따로 포스팅할 예정입니다.
참고 링크
2017.12.15 - [DataBase/MS-SQL] - [MS-SQL] DB 로그삭제(파일축소) - Version 1 단일적용(일반)
2022.12.22 - [DataBase/MS-SQL] - [MS-SQL] DB 로그삭제(파일축소) - Version 3 단일적용(간단2)
2022.12.23 - [DataBase/MS-SQL] - [MS-SQL] DB 로그삭제(파일축소) - Version 4 일괄적용
'DataBase > MS-SQL' 카테고리의 다른 글
[MS-SQL] 다중 레코드 INSERT 하기 (0) | 2022.12.24 |
---|---|
[MS-SQL] DB 로그삭제(파일축소) - Version 4 일괄적용 (0) | 2022.12.23 |
[MS-SQL] DB 로그삭제(파일축소) - Version 3 단일적용(간단2) (0) | 2022.12.22 |
[MS-SQL] 물리적인 테이블 크기 확인하기 (0) | 2022.12.18 |
[MS-SQL] 특정 컬럼(Column)의 정보를 이용하여 테이블 검색 (0) | 2022.12.14 |
[MS-SQL] 문자열의 자음(초성) 추출 함수 만들기 (2) | 2022.03.21 |
[MS-SQL] 임시 테이블을 생성하고 활용하자 (0) | 2018.01.03 |
[MS-SQL] DB 로그삭제(파일축소) - Version 1 단일적용(일반) (0) | 2017.12.15 |
댓글