sp_delete_schedule(Transact-SQL)

적용 대상:SQL Server

일정을 삭제합니다.

Transact-SQL 구문 표기 규칙

구문

sp_delete_schedule
    [ [ @schedule_id = ] schedule_id ]
    [ , [ @schedule_name = ] N'schedule_name' ]
    [ , [ @force_delete = ] force_delete ]
    [ , [ @automatic_post = ] automatic_post ]
[ ; ]

인수

[ @schedule_id = ] schedule_id

삭제할 일정의 일정 ID 번호입니다. @schedule_id 기본값NULL인 int입니다.

@schedule_id 또는 @schedule_name 지정해야 하지만 둘 다 지정할 수는 없습니다.

[ @schedule_name = ] N'schedule_name'

삭제할 일정의 이름입니다. @schedule_name sysname이며 기본값은 .입니다NULL.

@schedule_id 또는 @schedule_name 지정해야 하지만 둘 다 지정할 수는 없습니다.

[ @force_delete = ] force_delete

일정이 작업에 연결된 경우 프로시저가 실패할지 여부를 지정합니다. @force_delete 비트이며 기본값은 .입니다0.

  • @force_delete0경우 일정이 작업에 연결된 경우 저장 프로시저가 실패합니다.
  • @force_delete1경우 일정이 작업에 연결되어 있는지 여부에 관계없이 일정이 삭제됩니다.

[ @automatic_post = ] automatic_post

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

반환 코드 값

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

결과 집합

없음.

설명

기본적으로 일정이 작업에 연결된 경우 일정을 삭제할 수 없습니다. 작업에 연결된 일정을 삭제하려면 @force_delete 값을 1지정합니다. 일정을 삭제해도 현재 실행 중인 작업이 중지되지는 않습니다.

사용 권한

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

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

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

작업 소유자는 일정에 작업을 연결하고 일정 소유자일 필요 없이 일정에서 작업을 분리할 수 있습니다. 그러나 호출자가 일정 소유자인 경우가 아니면 분리에서 작업을 사용하지 않고 그대로 두면 일정을 삭제할 수 없습니다.

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

sysadmin 역할의 멤버만 다른 사용자가 소유한 작업 일정을 삭제할 수 있습니다.

예제

A. 일정 삭제

다음 예제에서는 일정을 NightlyJobs삭제합니다. 일정이 작업에 연결된 경우 예제에서는 일정을 삭제하지 않습니다.

USE msdb;
GO

EXEC dbo.sp_delete_schedule
    @schedule_name = N'NightlyJobs';
GO

B. 작업에 연결된 일정 삭제

다음 예제에서는 일정 RunOnce이 작업에 연결되어 있는지 여부에 관계없이 일정을 삭제합니다.

USE msdb;
GO

EXEC dbo.sp_delete_schedule
    @schedule_name = 'RunOnce',
    @force_delete = 1;
GO