sp_attach_schedule(Transact-SQL)
적용 대상: 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
인 uniqueidentifier입니다.
@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 지정해야 하지만 둘 다 지정할 수는 없습니다.
[ @automatic_post = ] automatic_post
@automatic_post 비트이며 기본값은 .입니다1
.
설명
일정과 작업에는 동일한 소유자가 있어야 합니다.
둘 이상의 작업에 대해 일정을 설정할 수 있습니다. 작업은 둘 이상의 일정에 따라 실행할 수 있습니다.
이 저장 프로시저는 데이터베이스에서 msdb
실행해야 합니다.
사용 권한
이 저장 프로시저는 db_owner 역할이 소유합니다. 모든 사용자에 대한 사용 권한을 부여 EXECUTE
할 수 있지만 SQL Server 업그레이드 중에 이러한 권한이 재정의될 수 있습니다.
다른 사용자에게는 데이터베이스에서 다음 SQL Server 에이전트 고정 데이터베이스 역할 msdb
중 하나가 부여되어야 합니다.
- 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