sp_attach_schedule(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