sp_stop_job(Transact-SQL)
적용 대상: SQL Server Azure SQL Managed Instance
SQL Server 에이전트 작업 실행을 중지하도록 지시합니다.
구문
sp_stop_job
[ [ @job_name = ] N'job_name' ]
[ , [ @job_id = ] 'job_id' ]
[ , [ @originating_server = ] N'originating_server' ]
[ , [ @server_name = ] N'server_name' ]
[ ; ]
인수
[ @job_name = ] N'job_name'
중지할 작업의 이름입니다. @job_name sysname이며 기본값은 .입니다NULL
.
[ @job_id = ] 'job_id'
중지할 작업의 ID 번호입니다. @job_id 기본값NULL
인 uniqueidentifier입니다.
[ @originating_server = ] N'originating_server'
원래 서버의 이름입니다. 지정하면 모든 다중 서버 작업이 중지됩니다. @originating_server sysname이며 기본값은 .입니다NULL
. 대상 서버에서 호출 sp_stop_job
할 때만 이 매개 변수를 지정합니다.
MSX/TSX(다중 서버 관리) 기능은 Azure SQL Managed Instance에서 지원되지 않습니다.
참고 항목
처음 세 매개 변수 중 하나만 지정할 수 있습니다.
[ @server_name = ] N'server_name'
다중 서버 작업을 중지할 특정 대상 서버의 이름입니다. @server_name sysname이며 기본값은 .입니다NULL
. 다중 서버 작업에 대해 원래 서버에서 호출 sp_stop_job
하는 경우에만 이 매개 변수를 지정합니다.
반환 코드 값
0
(성공) 또는 1
(실패).
결과 집합
없음.
설명
sp_stop_job
는 중지 신호를 데이터베이스에 보냅니다. 일부 프로세스는 즉시 중지할 수 있으며 일부는 중지하기 전에 안정적인 지점(또는 코드 경로의 진입점)에 도달해야 합니다. 일부 장기 실행 Transact-SQL 문(예: BACKUP
, RESTORE
및 일부 DBCC
명령)을 완료하는 데 시간이 오래 걸릴 수 있습니다. 이러한 명령을 실행하는 경우 작업이 취소되기까지 시간이 걸릴 수 있습니다. 작업을 중지하면 작업 기록에 "작업 취소됨" 항목이 기록됩니다.
작업이 현재 CmdExec 또는 PowerShell 형식의 단계를 실행하는 경우 실행 중인 프로세스(예: MyProgram.exe)가 조기에 종료됩니다. 조기 종료로 인해 프로세스에서 사용 중인 파일과 같은 예측할 수 없는 동작이 발생할 수 있습니다. sp_stop_job
따라서 작업에 CmdExec 또는 PowerShell 형식의 단계가 포함된 경우 극단적인 상황에서만 사용해야 합니다.
이 저장 프로시저는 Azure SQL Database용 Azure Elastic Jobs 서비스에 대한 유사한 개체와 이름을 sp_stop_job
공유합니다. 탄력적 작업 버전에 대한 자세한 내용은 jobs.sp_stop_job(Azure 탄력적 작업)를 참조하세요.
사용 권한
이 절차에 대한 사용 권한을 부여 EXECUTE
할 수 있지만 SQL Server 업그레이드 중에 이러한 권한이 재정의될 수 있습니다.
다른 사용자에게는 데이터베이스에서 다음 SQL Server 에이전트 고정 데이터베이스 역할 msdb
중 하나가 부여되어야 합니다.
- 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