Skip to content

조회 수 18168 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
SQL Agent에 등록되어 있는 작업이 현재 실행중인지를 확인하는 프로시저입니다.
 
간단할꺼라 생각했는데, 쉽게 확인할 수 있는 사항이 아니었네요~
시스템 테이블과 저장 프로시저들을 참고하여 한 번 만들어봤습니다.
SQL 2000에서도 제대로 돌아가기 위해 결과테이블을 테이블 변수 대신 임시테이블로 정의하였습니다.
SQL 2005에서는 테이블 변수에다가 execute 결과를 저장할 수가 있지만, SQL 2000에서는 안되어서요~^^
참고하시기 바랍니다.
 
 

CREATE PROC USP_CHECK_JOB_STATUS

             @job_name sysname AS

SET NOCOUNT ON

 

DECLARE @is_sysadmin INT 

DECLARE @job_owner   sysname 

DECLARE @job_id uniqueidentifier

 

IF OBJECT_ID('TEMPDB..#job_execution_state') IS NOT NULL

DROP TABLE #job_execution_state

 

CREATE TABLE #job_execution_state

                           (

                                        job_id                UNIQUEIDENTIFIER NOT NULL, 

            last_run_date         INT              NOT NULL, 

            last_run_time         INT              NOT NULL, 

            next_run_date         INT              NOT NULL, 

            next_run_time         INT              NOT NULL, 

            next_run_schedule_id  INT              NOT NULL, 

            requested_to_run      INT              NOT NULL, -- BOOL 

            request_source        INT              NOT NULL, 

            request_source_id     sysname          COLLATE database_default NULL, 

            running               INT              NOT NULL, -- BOOL 

            current_step          INT              NOT NULL, 

            current_retry_attempt INT              NOT NULL, 

            job_state             INT              NOT NULL) 

 

SELECT @is_sysadmin = ISNULL(IS_SRVROLEMEMBER(N'sysadmin'), 0) 

SELECT @job_owner = SUSER_SNAME()

SELECT @job_id = job_id FROM msdb.dbo.sysjobs where name = @job_name

 

IF @job_id IS NOT NULL

             BEGIN

                           INSERT INTO #job_execution_state

                           EXEC master.dbo.xp_sqlagent_enum_jobs @is_sysadmin, @job_owner, @job_id

 

                           IF EXISTS (SELECT * FROM #job_execution_state)

                                        SELECT @job_name AS Name, running AS Status, CASE WHEN running = 1 THEN '실행중' ELSE '실행중이지 않음' END AS Comments

                                        FROM #job_execution_state

                           ELSE

                                        SELECT @job_name as Name, -1 as Status, '해당 작업이 없습니다.' AS Comments

             END

ELSE

             SELECT @job_name as Name, -1 as Status, '해당 작업이 없습니다.' AS Comments

 

SET NOCOUNT OFF

GO

 

 
 

USP_CHECK_JOB_STATUS 'TEST'

/*

Name     Status      Comments

-------- ----------- --------

TEST     1           실행중

*/

 

USP_CHECK_JOB_STATUS 'TEST'

/*

Name     Status      Comments

-------- ----------- --------

TEST     0           실행중이지 않음

*/

 

USP_CHECK_JOB_STATUS 'TEST1'

/*

Name     Status      Comments

-------- ----------- --------

TEST1     -1         해당 작업이 없습니다.

*/


  1. [SQL Server] Build Number of Each Version of SQL Server - ...

    Date2009.12.20 ByADMINPLAY Views34414
    Read More
  2. MSSQL 버전별 최대 용량 비교표

    Date2010.02.24 Byl2zeo Views23862
    Read More
  3. Fatal error: Call to undefined function: mssql_connect()

    Date2010.06.03 ByADMINPLAY Views23011
    Read More
  4. DB 서버에 특정 IP 접근 차단 방법

    Date2010.02.21 Byl2zeo Views22197
    Read More
  5. DBCC SHRINKFILE 트랜잭션 로그파일 축소

    Date2010.05.29 Byl2zeo Views21796
    Read More
  6. [MSSQL] “시간제한이 만료되었습니다.”라는 메시지가 나옵니다...

    Date2009.11.26 ByADMINPLAY Views21582
    Read More
  7. [FAQ]mssql2005 디버깅 어떻게 해야 하나요?

    Date2010.02.25 Byl2zeo Views21073
    Read More
  8. SQL Server 데이터 파일 축소

    Date2010.03.28 Byl2zeo Views20821
    Read More
  9. SQL서버 성능카운터 활용을 위한 팁

    Date2010.02.24 Byl2zeo Views20195
    Read More
  10. 마소제공 mssql 관리툴

    Date2010.04.23 ByADMINPLAY Views19889
    Read More
  11. [FAQ]하나의 서버에 두개의 database를 설치하려고 합니다.

    Date2010.02.25 Byl2zeo Views19703
    Read More
  12. 데이터 원본에 저장 프로시저 사용하기

    Date2010.02.25 Byl2zeo Views18772
    Read More
  13. SQL Server 2008의 새로운 기능 - Parameter Embedding Optimi...

    Date2010.02.24 Byl2zeo Views18364
    Read More
  14. SQL Agent 작업 실행 상태 확인하기

    Date2010.02.23 Byl2zeo Views18168
    Read More
  15. SQL Server 2005 백업 설정 방법

    Date2010.02.24 Byl2zeo Views18035
    Read More
  16. SQL Server 2008 R2 버전에서 지원하는 기능

    Date2011.03.30 ByADMINPLAY Views16974
    Read More
  17. php에서 mssql 연동방법(총정리)

    Date2009.04.13 ByADMINPLAY Views16783
    Read More
  18. [FAQ]join을 하다가 막혔어요..

    Date2010.02.25 Byl2zeo Views16733
    Read More
  19. MSSQL 2005 접속 클라이언트(mssql server management Studio ...

    Date2009.11.26 ByADMINPLAY Views16335
    Read More
  20. MS-SQL 클라이언트 설치 방법

    Date2009.11.26 ByADMINPLAY Views16254
    Read More
Board Pagination Prev 1 2 Next
/ 2

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234