sp_delete_schedule(Transact-SQL)
적용 대상: SQL Server
일정을 삭제합니다.
구문
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_delete
0
경우 일정이 작업에 연결된 경우 저장 프로시저가 실패합니다. - @force_delete
1
경우 일정이 작업에 연결되어 있는지 여부에 관계없이 일정이 삭제됩니다.
[ @automatic_post = ] automatic_post
정보를 제공하기 위해서만 확인됩니다. 지원 안 됨. 향후 호환성은 보장되지 않습니다.
반환 코드 값
0
(성공) 또는 1
(실패).
결과 집합
없음.
설명
기본적으로 일정이 작업에 연결된 경우 일정을 삭제할 수 없습니다. 작업에 연결된 일정을 삭제하려면 @force_delete 값을 1
지정합니다. 일정을 삭제해도 현재 실행 중인 작업이 중지되지는 않습니다.
사용 권한
이 절차에 대한 사용 권한을 부여 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