» 프로그래밍+DB » SQL Server 2014: 관리 작업 자동화하기(SQL Server 에이전트 작업 활용)

SQL Server 2014: 관리 작업 자동화하기(SQL Server 에이전트 작업 활용)

※ 시행착오가 그대로 포함되어 있습니다. 정확한 방법을 원하신다면 전체 글을 읽고 나서 적용해보세요. 마지막에는 성공했습니다. ^^;

※ 참고한 곳은 http://jkmoon.tistory.com/90 블로그입니다.

기본 구문

clip_image001

[로그 크기 확인]

dbcc sqlperf(logspace)

clip_image002

[로그 파일 정보 확인]

use [데이터베이스명];

exec sp_helpfile;

시도 1

clip_image003

유지 관리 계획 만듦.

clip_image004

도구 상자에서 T-SQL 문 실행 태스크를 끌어 옴. 편집 기능 활용.

clip_image005

[T-SQL문 실행 태스크]

USE [ShopDB];

GO

— Truncate the log by changing the database recovery model to SIMPLE.

ALTER DATABASE [ShopDB]

SET RECOVERY SIMPLE;

GO

— Shrink the truncated log file to 1 MB.

DBCC SHRINKFILE ([ShopDB_Log], 1);

GO

— Reset the database recovery model.

ALTER DATABASE [ShopDB]

SET RECOVERY FULL;

GO

clip_image006

실행해봄.

clip_image007

유지 관리가 실행됨.

clip_image008

오류남 ;; ‘실행하지 못했습니다.’를 클릭.

clip_image009

하위 계획 1을 수행하지 못했다고 한다.

clip_image010

에러를 상세히 봄.

시도2

clip_image011

새 쿼리를 만들어서 다시 해 봄.

clip_image012

문제 없는데? 왜 안되지?

clip_image013

처음에 비하면 좀 줄어들었는데. 왜 안되는걸까?

시도3

clip_image014

Database SelectionType을 All로 바꿔봤다.(여전히 안 되더라.)

clip_image015

‘지정된 연결 관리자가 없습니다’ no connection manager is specified maintenance plan 으로 검색했다.

유지 관리 계획(연결 관리)
연결 관리 대화 상자를 사용하여 유지 관리 계획에서 사용하는 연결의 속성을 지정할 수 있습니다. 유지 관리 계획을 만들면 해당 계획을 만든 서버에 대한 로컬 연결이 생성됩니다. 이 연결을 사용하여 이 로컬 연결에 대한 태스크를 수행하는 작업을 만들 수 있습니다. 필요하면 연결 관리 대화 상자를 사용하여 연결을 추가합니다. 추가 연결을 구성하면 각 태스크의 연결 상자에 해당 연결이 나타납니다.

출처: <https://msdn.microsoft.com/ko-kr/library/ms188214.aspx>

SQL Server 에이전트 작업
MSSQL에서 반복적인 작업을 수행해야 할 필요성이 있다면, SQL Server 에이전트의 작업을 통해 예약작업을 적용할 수 있습니다.

출처: <http://jkmoon.tistory.com/90>

시도4 (거의 성공에 근접)

이런 게 있네!

clip_image016

새 작업 만들기

clip_image017

테스트.

clip_image018

단계에서 새로 만들기

clip_image019

명령어를 넣고 [구문 분석] 단추 클릭

clip_image020

일정도 새로 만들기

clip_image021

매일 오전 12:00:00에 되풀이되도록 설정.

[테스트해보기]

clip_image022

DB Log를 0으로 축소하도록 고침.

clip_image023

현재는 이렇다.

clip_image024

작업이 이뤄진 이후, 기록 보기

clip_image025

작업이 성공했다고 한다. 실제 로그는 얼마나 줄었을까?

clip_image026

에잉 잘 모르겠다. msdb의 로그를 줄여보자.

clip_image027

MSDBData 와 MSDBLog가 있다.

clip_image028

이렇게 고쳤다.

USE [MSDB];

GO

— Truncate the log by changing the database recovery model to SIMPLE.

ALTER DATABASE [MSDB]

SET RECOVERY SIMPLE;

GO

— Shrink the truncated log file to 1 MB.

DBCC SHRINKFILE ([MSDBLog], 0);

GO

— Reset the database recovery model.

ALTER DATABASE [MSDB]

SET RECOVERY FULL;

GO

clip_image029

구문 분석도 완료.

clip_image030

잘 실행됨. 어디 결과를 볼까?

성공!

[Before]

clip_image031

[After]

clip_image032

오우 줄었다!! 5MB 정도에서 0.4MB로 ㅋㅋㅋ

이걸로 하면 되겠다. 다만 줄일 로그의 크기는 0이 아니라 10MB로 하자.

clip_image033

SQL Server 에이전트 작업 좋아요! 윙크

이것도 살펴보세요!

Visual Studio Code에서 JAVA Compile

Language Support for Java(TM) by Red Hat File -> Open Folder New File name.java 로 …

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.