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_name은 sysname이며 기본값은 NULL입니다.
- [ @job_id =] job_id
중지할 작업의 ID입니다. job_id는 uniqueidentifier이며 기본값은 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 에이전트 고정 데이터베이스 역할을 참조하십시오.
SQLAgentUserRole 및 SQLAgentReaderRole의 멤버는 각자 소유한 작업만 중지할 수 있습니다. 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)