본문 바로가기

DataBase/SQL

[SQL] 작업 스케줄러


 금번 순위를 산정하는 집계쿼리를 만들면서 해당 집계가 하루에 한번 정해진 시간에 이뤄지도록 

해달라는 요청을 받았다. 해서... 


 집계쿼리를 만들어 놓고 매일 아침 출근하면 일단 쿼리를 실행 시키다.... (개발중이니까.. 머... 이래두 괜찮..)

정리를 해야 겠다는 생각이 들어서 방법을 모색하게 되었다.


MSSQL 2008에는 '윈도우의 작업 스케줄러'와 흡사한 기능이 있다. 이름 하여 'SQL Server 에이전트' 이다.


 스케줄에 등록하기 전에 준비 되어 있어야 할 것은 ...

 1. 집계쿼리. (매일 아침 손수 실행 시켰던 집계쿼리를 SP로 등록)

 2. 없음.


방법은 아래와 같다.


 1. sql server 에이전트 활성화

위의 그림에서 sql server 에이전트의 속성으로 들어간다. 


2. 

 속성창에서 서비스 상태를 '시작' 으로 변경한다.


3. Microsoft SQL Server Management Studio로 와서 '에이전트'를 우 클릭하여 '새작업'을 연다.(DB에 연결이 되어있어야 한다.)


4. 새 작업에 '일반'에서 기본 정보를 입력한다.(아래 그림은 이미 만들어 본 작업에서 본 것이니 작업속성으로 표시됨)


5. 기본 정보를 입력 후 '단계'로 이동하여 '새로 만들기'를 누름

(이 화면 역시 이미 만들어져 있는 작업이 한개가 보인다. - 신경쓰지말자)


6. 새로 만들기를 누르면 다음과 같은 화면이 나온다.

 1) 단계 이름을 적어 주고

 2) 데이터 베이스를 선택해 주고 아래 명령에 실행 sp를 입력해 주면 된다.

     - 예로 exec sp_블라블라; 이렇게 해주면 되는데. 

     - 만일 실행해야 하는 쿼리가 여러개 라면 아래 쪽으로 연속적으로 추가해주면 된다.


7. 그 다음 일정으로 가서 새로 만들기를 눌러서 새로운 일정을 추가해준다.


8. 다음과 같이 말이지


이렇게 해 놓으면 정해진 시간에 해당 저장 프로시저를 실행하게 된다. 

이상 끝~~~


'DataBase > SQL' 카테고리의 다른 글

[SQL] 동적쿼리와 like 구문.  (0) 2013.03.15
[SQL] 컬럼에 제약 조건 추가.  (0) 2013.03.07
[SQL] 인덱스 (클러스터, 비클러스터) 개념  (0) 2013.02.26
[SQL] 테이블 변수  (0) 2013.02.13
[SQL] ALTER TABLE  (0) 2013.02.13