저번 시간에는 SQL Server 에이전트를 이용한 스케줄링 작업을 해보았는데, 이번 시간에는 Windows 작업 스케줄러를 이용하여 배치 파일을 실행하여 테이블의 데이터를 업데이트 방법에 대해 알아보겠습니다.
스케줄러를 통해 프로시저를 실행하여 테이블의 데이터를 업데이트하기 위해 저번 시간에 사용하였던 테이블과 프로시저를 사용하겠습니다.
TABLE
CREATE TABLE TMember ( id INT IDENTITY, regdate DATETIME ) GO
PROCEDURE
CREATE PROCEDURE SP_SMYONG_SCHEDULER AS BEGIN INSERT INTO TMember (regdate) VALUES (getdate()) END
SP_SMYONG_SCHEDULER 프로시저는 호출되었을 때 현재 시간을 TMember 테이블에
insert 하는 단순한 프로시저 입니다.
작업 스케줄러를 이용하여 실행할 배치파일을 생성해 보도록 하겠습니다.
@echo off
set pcname=%COMPUTERNAME%
sqlcmd -E -S %pcname% -I -Q "EXEC SMYONG_TEST.DBO.SP_SMYONG_SCHEDULER"
-S 옵션 입력 후 들어가는 파라미터는 MSSQL 서버의 이름을 입력해 주면 됩니다.
서버 이름은 %COMPUTERNAME% 명령을 이용해 값을 받아오면 됩니다.
간단한 쿼리일 경우 -Q 옵션을 입력 후 쿼리를 통해 프로시저를 호출하였으나,
쿼리를 파일로 만들어 관리하실 경우 옵션 -i "실행시킬 sql 경로" 를 사용하여 파일을 호출할 수도 있습니다.
아래 링크들은 배치 파일 명령어 및 sqlcmd 옵션들을 정리해놓은 사이트로 참고하시면 좋을 것 같습니다.
2번에서 생성한 파일을 찾아 클릭 후 열기를 클릭합니다.
파일 위치가 업로드되며 확인 버튼을 클릭합니다.
정상적으로 배치 프로그램이 실행되어 데이터가 insert 되었습니다.
위와 같이 작업 스케줄러를 이용한 배치 프로그램 실행해 보았으며,
그 외 작업 스케줄러에 대한 질문들은 댓글로 남겨주시면 답변드리겠습니다.
감사합니다.