본문 바로가기

DataBase/MSSQL

[MSSQL] SQL Server 에이전트로 API 호출

MSSQL SQL Server 에이전트를 활용하여 일정시간마다  

API 를 호출하는 작업을 추가하는 방법입니다.

 

먼저 MSSQL Server 에이전트에 작업을 추가합니다.

 

우클릭을 눌러 새작업을 선택하면 아래와 같은 창이 나타납니다.

 

아래와같이 이름 및 간단한 설명을 남긴뒤 좌측상단의 단계를 설정합니다. 

 

단계를 클릭하고 새로만들기(N)... 을클릭하여 단계를 추가합니다.

단계 이름과 명령어를 입력해주면 되는데 API 를 호출하기 위한 명령어는 아래와 같습니다.

 

Declare @Object as Int;
Declare @ResponseText as Varchar(8000)

Exec [sys].[sp_OACreate] 'MSXML2.ServerXMLHTTP', @Object OUT;
EXEC [sys].[sp_OAMethod] @Object, 'open', NULL, 'post','http://localhost:8080/study/requestapi', 'false'
Exec [sys].[sp_OAMethod] @Object, 'setRequestHeader', null, 'Content-Type', 'application/json'
Exec [sys].[sp_OAMethod] @Object, 'send', NULL, NULL
Exec [sys].[sp_OAMethod] @Object, 'responseText', @ResponseText OUTPUT
Exec [sys].[sp_OADestroy] @Object

 

위의 명령어를 입력하고 명련란에 입력하고 확인을 누른뒤 해당 작업의 일정을 설정해주면됩니다.

( 위 명령어는 SQL 에이전트 등록외에도 procedure에도 사용이 가능합니다. )

 

 

일정을 등록시 이름 , 유형 , 빈도 등 설정한뒤 등록을 완료하면 설정된 시작시간부터 일정 주기로 해당 API 를 호출하는

SQL 에이전트가 등록됩니다.