ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SQL Server Schedule에 대한 이야기
    SQL Server 2012. 9. 6. 17:10

    안녕하세요. 이스트럭(강동운) 입니다.


    오늘은 SQL Server 스케쥴에 관련된 얘기를 할까 합니다.


    궁금증은  "1분마다 수행되는 SP가 있는데 1분이 넘어가면 어떻게 될까?"


    로... 출발하게 되었습니다.


    결론 부터 말씀드리면, 1분이 넘어가면 두개가 동시에 수행되진 않습니다. 스케쥴이 끝난 시간 이후 다음 스케쥴 시간에 수행이 됩니다.

    즉... 아래 예제 처럼 1분 5초가 걸리는 SP가 1분마다 수행이 된다면, 2분에 한번씩 수행이 됩니다.


    예제 소스 한번 봅시다!



    USE eastluck
    GO
    IF OBJECT_ID('AgentLog','U') IS NOT NULL
    	DROP TABLE AgentLog
    GO
    CREATE TABLE dbo.AgentLog
    (
    	AgentLogIDX	INT	IDENTITY NOT NULL
    ,	CreateDate	DATETIME	NOT NULL
    )
    GO
    
    CREATE PROC dbo.AddAgentLog
    AS
    
    	WAITFOR DELAY '00:01:05'
    	INSERT INTO dbo.AgentLog(CreateDate) VALUES(GETDATE())
    GO
    

    이렇게 테이블과 SP를 만들고.. AddAgentLog라는 SP가 1분에 한번씩 돌아가도록 Agent에 적용을 합시다!


    1. SQL Server Agent => New => Job




    2. Name에 Agent로 등록될 명칭을 입력합니다.




    3. Steps로 이동해서 New 버튼을 클릭합니다.





    4. Step Name을 적고, Database를 선택하고, SP 실행 문구를 적어둡니다.




    5. 그다음 Schedule 탭으로 이동하고, New를 클릭합시다.





    6.스케쥴 창에 Name을 적고, Occurs every 선택 후 1분 마다 수행할 수 있도록 수정합니다.





    그런다음 수행되기를 기다리시면 됩니다.


    History를 한번 볼까요?



    2분 마다 수행되는 것을 볼 수 있습니다.






    감사합니다 ^^


    작성자: 이스트럭(강동운)

    작성일: 2012-09-06

Designed by Tistory.