Share via


sp_delete_job(Transact-SQL)

적용 대상:SQL ServerAzure SQL Managed Instance

SQL Server 에이전트 서비스에서 작업을 삭제합니다.

Transact-SQL 구문 표기 규칙

구문

sp_delete_job
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @originating_server = ] N'originating_server' ]
    [ , [ @delete_history = ] delete_history ]
    [ , [ @delete_unused_schedule = ] delete_unused_schedule ]
[ ; ]

인수

[ @job_id = ] 'job_id'

삭제할 작업의 ID 번호입니다. @job_id 기본값NULLuniqueidentifier입니다.

@job_id 또는 @job_name 지정해야 합니다. 둘 다 지정할 수 없습니다.

[ @job_name = ] N'job_name'

삭제할 작업의 이름입니다. @job_name sysname이며 기본값은 .입니다NULL.

@job_id 또는 @job_name 지정해야 합니다. 둘 다 지정할 수 없습니다.

[ @originating_server = ] N'originating_server'

정보를 제공하기 위해서만 확인됩니다. 지원 안 됨 향후 호환성은 보장되지 않습니다.

[ @delete_history = ] delete_history

작업의 기록을 삭제할지 여부를 지정합니다. @delete_history 비트이며 기본값은 .입니다1.

  • @delete_history1작업의 작업 기록이 삭제됩니다.
  • @delete_history0작업 기록은 삭제되지 않습니다.

작업이 삭제되고 기록이 삭제되지 않으면 작업에 대한 기록 정보가 SQL Server 에이전트 그래픽 사용자 인터페이스 작업 기록에 표시되지 않지만 정보는 여전히 데이터베이스의 sysjobhistory 테이블에 msdb 있습니다.

[ @delete_unused_schedule = ] delete_unused_schedule

다른 작업에 연결되지 않은 경우 이 작업에 연결된 일정을 삭제할지 여부를 지정합니다. @delete_unused_schedule 비트이며 기본값은 .입니다1.

  • @delete_unused_schedule1경우 일정을 참조하는 다른 작업이 없으면 이 작업에 연결된 일정이 삭제됩니다.
  • @delete_unused_schedule0경우 일정은 삭제되지 않습니다.

반환 코드 값

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

결과 집합

없음.

설명

@originating_server 인수는 내부용으로 예약되어 있습니다.

@delete_unused_schedule 인수는 작업에 연결되지 않은 일정을 자동으로 제거하여 이전 버전의 SQL Server와의 호환성을 제공합니다. 이 매개 변수는 기본적으로 이전 버전과 호환되는 동작으로 설정됩니다. 작업에 연결되지 않은 일정을 유지하려면 값을 0 @delete_unused_schedule 인수로 제공해야 합니다.

SQL Server Management Studio는 작업 구조를 만들고 관리할 수 있는 바람직한 방법을 제공하는데, 이는 그래픽을 사용하여 쉽게 작업을 관리할 수 있는 방법입니다.

이 저장 프로시저는 기본 테넌트 계획을 삭제할 수 없으며 기본 테넌트 계획의 일부인 작업을 삭제할 수 없습니다. 대신 SQL Server Management Studio를 사용하여 기본 테넌트 계획을 삭제합니다.

이 저장 프로시저는 Azure SQL Database용 Azure Elastic Jobs 서비스에 대한 유사한 개체와 이름을 sp_delete_job 공유합니다. 탄력적 작업 버전에 대한 자세한 내용은 jobs.sp_delete_job(Azure Elastic Jobs)(Transact-SQL)를 참조하세요.

사용 권한

이 저장 프로시저는 db_owner 역할이 소유합니다. 모든 사용자에 대한 사용 권한을 부여 EXECUTE 할 수 있지만 SQL Server 업그레이드 중에 이러한 권한이 재정의될 수 있습니다.

다른 사용자에게는 데이터베이스에서 다음 SQL Server 에이전트 고정 데이터베이스 역할 msdb 중 하나가 부여되어야 합니다.

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

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

sysadmin 고정 서버 역할의 멤버를 실행 sp_delete_job 하여 작업을 삭제할 수 있습니다. sysadmin 고정 서버 역할의 멤버가 아닌 사용자는 해당 사용자가 소유한 작업만 삭제할 수 있습니다.

예제

다음 예제에서는 작업을 NightlyBackups삭제합니다.

USE msdb;
GO

EXEC sp_delete_job
    @job_name = N'NightlyBackups';
GO