다음을 통해 공유


sp_attach_schedule(Transact-SQL)

적용 대상: SQL Server

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

Transact-SQL 구문 표기 규칙

구문

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 기본값NULLuniqueidentifier입니다.

@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 실행해야 합니다.

사용 권한

이 절차에 대한 사용 권한을 부여 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