적용 대상:SQL Server
작업의 일정을 설정합니다.
구문
sp_attach_schedule
[ [ @job_id = ] 'job_id' ]
[ , [ @job_name = ] N'job_name' ]
[ , [ @schedule_id = ] schedule_id ]
[ , [ @schedule_name = ] N'schedule_name' ]
[ , [ @automatic_post = ] automatic_post ]
[ ; ]
인수
[ @job_id = ] 'job_id'
일정이 추가되는 작업의 작업 ID 번호입니다.
@job_id 기본값인 NULL입니다.
@job_id 또는 @job_name 지정해야 하지만 둘 다 지정할 수는 없습니다.
[ @job_name = ] N'job_name'
일정이 추가되는 작업의 이름입니다.
@job_name sysname이며 기본값은 .입니다NULL.
@job_id 또는 @job_name 지정해야 하지만 둘 다 지정할 수는 없습니다.
[ @schedule_id = ] schedule_id
작업에 대해 설정할 일정의 일정 ID 번호입니다.
@schedule_id 기본값인 intNULL.
@schedule_id 또는 @schedule_name 지정해야 하지만 둘 다 지정할 수는 없습니다.
[ @schedule_name = ] N'schedule_name'
작업에 대해 설정할 일정의 이름입니다.
@schedule_name sysname이며 기본값은 .입니다NULL.
@schedule_id 또는 @schedule_name 지정해야 하지만 둘 다 지정할 수는 없습니다.
[ @automatic_post = ] automatic_post
@automatic_post 비트이며 기본값은 .입니다1.
설명
일정과 작업에는 동일한 소유자가 있어야 합니다.
둘 이상의 작업에 대해 일정을 설정할 수 있습니다. 작업은 둘 이상의 일정에 따라 실행할 수 있습니다.
이 저장 프로시저는 데이터베이스에서 msdb 실행해야 합니다.
사용 권한
이 절차에 대한 사용 권한을 부여 EXECUTE 할 수 있지만 SQL Server 업그레이드 중에 이러한 권한이 재정의될 수 있습니다.
다른 사용자에게는 데이터베이스에서 다음 SQL Server 에이전트 고정 데이터베이스 역할 msdb 중 하나가 부여되어야 합니다.
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
작업 소유자는 일정에 작업을 연결하고 일정 소유자일 필요 없이 일정에서 작업을 분리할 수 있습니다. 그러나 호출자가 일정 소유자인 경우가 아니면 분리에서 작업을 사용하지 않고 그대로 두면 일정을 삭제할 수 없습니다.
이러한 역할의 사용 권한에 대한 자세한 내용은 SQL Server 에이전트 고정 데이터베이스 역할을 참조하세요.
SQL Server는 사용자가 작업과 일정을 모두 소유하고 있는지 확인합니다.
예제
다음 예제에서는 이름이 지정된 NightlyJobs일정을 만듭니다. 이 일정을 사용하는 작업은 서버 01:00의 시간이 될 때 매일 실행됩니다. 이 예제에서는 작업 및 작업에 BackupDatabaseRunReports일정을 연결합니다.
참고 항목
이 예제에서는 작업과 작업이 BackupDatabaseRunReports 이미 있다고 가정합니다.
USE msdb;
GO
EXECUTE sp_add_schedule
@schedule_name = N'NightlyJobs',
@freq_type = 4,
@freq_interval = 1,
@active_start_time = 010000;
GO
EXECUTE sp_attach_schedule
@job_name = N'BackupDatabase',
@schedule_name = N'NightlyJobs';
GO
EXECUTE sp_attach_schedule
@job_name = N'RunReports',
@schedule_name = N'NightlyJobs';
GO