sp_stop_job(Transact-SQL)

SQL Server 에이전트가 작업 실행을 중지하도록 지시합니다.

구문

sp_stop_job 
      [@job_name =] 'job_name'
    | [@job_id =] job_id 
    | [@originating_server =] 'master_server'
    | [@server_name =] 'target_server'

인수

  • [ @job_name =] 'job_name'
    중지할 작업의 이름입니다. job_namesysname이며 기본값은 NULL입니다.
  • [ @job_id =] job_id
    중지할 작업의 ID입니다. job_iduniqueidentifier이며 기본값은 NULL입니다.
  • [ @originating_server =] 'master_server'
    마스터 서버의 이름입니다. 지정하면 모든 다중 서버 작업이 중지됩니다. master_server는 **nvarchar(128)**이며 기본값은 NULL입니다. 대상 서버에서 sp_stop_job을 호출할 때만 이 매개 변수를 지정합니다.

    [!참고] 처음 세 매개 변수 중 하나만 지정할 수 있습니다.

  • [ @server_name =] 'target_server'
    다중 서버 작업을 중지할 특정 대상 서버의 이름입니다. target_server는 **nvarchar(128)**이며 기본값은 NULL입니다. 마스터 서버에서 다중 서버 작업에 대해 sp_stop_job을 호출할 때만 이 매개 변수를 지정합니다.

반환 코드 값

0(성공) 또는 1(실패)

결과 집합

없음

주의

현재 작업이 CmdExec 유형의 단계를 실행하고 있는 경우에는 실행되고 있는 프로세스(예: MyProgram.exe)가 중간에 종료됩니다. 예기치 않은 종료로 인해 프로세스가 보유하고 있던 파일이 열리는 등 예기치 않은 상황이 발생할 수 있습니다. 따라서 sp_stop_job은 작업에 CmdExec 유형의 단계가 포함되어 있는 경우처럼 극단적인 상황에서만 사용해야 합니다.

사용 권한

기본적으로 sysadmin 고정 서버 역할의 멤버는 이 저장 프로시저를 실행할 수 있습니다. 다른 사용자는 msdb 데이터베이스의 다음 SQL Server 에이전트 고정 데이터베이스 역할 중 하나를 부여 받아야 합니다.

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

이러한 역할의 사용 권한에 대한 자세한 내용은 SQL Server 에이전트 고정 데이터베이스 역할을 참조하십시오.

SQLAgentUserRoleSQLAgentReaderRole의 멤버는 각자 소유한 작업만 중지할 수 있습니다. SQLAgentOperatorRole의 멤버는 다른 사용자가 소유한 작업을 비롯하여 모든 로컬 작업을 중지할 수 있습니다. sysadmin의 멤버는 모든 로컬 및 다중 서버 작업을 중지할 수 있습니다.

다음 예에서는 Weekly Sales Data Backup이라는 작업을 중지합니다.

USE msdb ;
GO

EXEC dbo.sp_stop_job
    N'Weekly Sales Data Backup' ;
GO

참고 항목

참조

sp_delete_job(Transact-SQL)
sp_help_job(Transact-SQL)
sp_start_job(Transact-SQL)
sp_update_job(Transact-SQL)
시스템 저장 프로시저(Transact-SQL)

도움말 및 정보

SQL Server 2005 지원 받기