다음을 통해 공유


sp_detach_schedule(Transact-SQL)

적용 대상: SQL Server

일정과 작업 간의 연결을 제거합니다.

Transact-SQL 구문 표기 규칙

구문

sp_detach_schedule
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @schedule_id = ] schedule_id ]
    [ , [ @schedule_name = ] N'schedule_name' ]
    [ , [ @delete_unused_schedule = ] delete_unused_schedule ]
    [ , [ @automatic_post = ] automatic_post ]
[ ; ]

인수

[ @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 지정해야 하지만 둘 다 지정할 수는 없습니다.

[ @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 지정해야 하지만 둘 다 지정할 수는 없습니다.

[ @delete_unused_schedule = ] delete_unused_schedule

사용되지 않는 작업 일정을 삭제할지 여부를 지정합니다. @delete_unused_schedule 비트이며, 기본값0은 모든 일정이 유지된다는 의미입니다. 즉, 작업이 참조하지 않더라도 유지됩니다. 로 1설정하면 참조하는 작업이 없으면 사용되지 않는 작업 일정이 삭제됩니다.

[ @automatic_post = ] automatic_post

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

반환 코드 값

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

결과 집합

없음

사용 권한

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

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

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

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

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

SQL Server는 사용자가 일정을 소유하고 있는지 여부를 확인합니다. sysadmin 고정 서버 역할의 멤버만 다른 사용자가 소유한 작업에서 일정을 분리할 수 있습니다.

예제

다음 예에서는 NightlyJobs 일정과 BackupDatabase 작업 간 연결을 제거합니다.

USE msdb;
GO

EXEC dbo.sp_detach_schedule
    @job_name = 'BackupDatabase',
    @schedule_name = 'NightlyJobs';
GO