다음을 통해 공유


sp_attach_schedule(Transact-SQL)

작업의 일정을 설정합니다.

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

구문

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

인수

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

주의

일정과 작업의 소유자는 같아야 합니다.

일정은 둘 이상의 작업에 대해 설정할 수 있습니다. 작업은 둘 이상의 일정으로 실행할 수 있습니다.

이 저장 프로시저는 msdb 데이터베이스에서 실행되어야 합니다.

사용 권한

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

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

작업 소유자는 일정 소유자가 아니어도 작업을 일정에 연결하고 일정에서 작업을 분리할 수 있습니다. 하지만 호출자가 일정 소유자가 아닌 한 분리를 통해 일정에 남은 작업이 없도록 일정을 삭제할 수 없습니다.

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

SQL Server는 사용자가 작업과 일정을 둘 다 소유하고 있는지 확인합니다.

다음 예에서는 NightlyJobs라는 일정을 만듭니다. 서버 시간이 01:00일 때 이 일정을 사용하는 작업이 매일 실행됩니다. 이 예에서는 BackupDatabase 작업과 RunReports 작업에 일정을 연결합니다.

[!참고]

이 예에서는 BackupDatabase 작업 및 RunReports 작업이 이미 있다고 가정합니다.

USE msdb ;
GO

EXEC sp_add_schedule
    @schedule_name = N'NightlyJobs' ,
    @freq_type = 4,
    @freq_interval = 1,
    @active_start_time = 010000 ;
GO


EXEC sp_attach_schedule
   @job_name = N'BackupDatabase',
   @schedule_name = N'NightlyJobs' ;
GO

EXEC sp_attach_schedule
   @job_name = N'RunReports',
   @schedule_name = N'NightlyJobs' ;
GO

참고 항목

참조

sp_add_schedule(Transact-SQL)

sp_detach_schedule(Transact-SQL)

sp_delete_schedule(Transact-SQL)