다음을 통해 공유


sp_detach_schedule(Transact-SQL)

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

항목 링크 아이콘 Transact-SQL 구문 표기 규칙

구문

sp_detach_schedule 
     { [ @job_id = ] job_id | [ @job_name = ] 'job_name' } ,
       { [ @schedule_id = ] schedule_id | [ @schedule_name = ] 'schedule_name' } ,
     [ @delete_unused_schedule = ] delete_unused_schedule

인수

  • [ @job_id= ] job_id
    일정을 제거할 작업의 ID입니다. job_id는 uniqueidentifier이며 기본값은 NULL입니다.

  • [ @job_name= ] 'job_name'
    일정을 제거할 작업의 이름입니다. job_name은 sysname이며 기본값은 NULL입니다.

    [!참고]

    job_id 또는 job_name 중 하나를 지정해야 하며 둘 다를 지정할 수는 없습니다.

  • [ @schedule_id= ] schedule_id
    작업에서 제거할 일정의 ID입니다. schedule_id는 int이며 기본값은 NULL입니다.

  • [ @schedule_name= ] 'schedule_name'
    작업을 제거할 일정의 이름입니다. schedule_name은 sysname이며 기본값은 NULL입니다.

    [!참고]

    schedule_id 또는 schedule_name 중 하나를 지정해야 하며 둘 다를 지정할 수는 없습니다.

  • [ @delete_unused_schedule= ] delete_unused_schedule
    사용하지 않는 작업 일정을 삭제할지 여부를 지정합니다. delete_unused_schedule은 bit이며 기본값은 해당 일정을 참조하는 작업이 없는 경우에도 모든 일정이 그대로 유지됨을 나타내는 0입니다. 1로 설정하면 작업이 참조하지 않는 경우 사용하지 않은 작업 일정이 삭제됩니다.

반환 코드 값

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

결과 집합

없음

사용 권한

기본적으로 sysadmin 고정 서버 역할의 멤버는 이 저장 프로시저를 실행할 수 있습니다. 다른 사용자는 msdb 데이터베이스의 다음 SQL Server 에이전트 고정 데이터베이스 역할 중 하나를 부여 받아야 합니다.

  • 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

참고 항목

참조

sp_add_schedule(Transact-SQL)

sp_attach_schedule(Transact-SQL)

sp_delete_schedule(Transact-SQL)