sp_add_schedule(Transact-SQL)
업데이트: 2008년 11월 17일
여러 작업에서 사용할 수 있는 일정을 만듭니다.
구문
sp_add_schedule [ @schedule_name = ] 'schedule_name'
[ , [ @enabled = ] enabled ]
[ , [ @freq_type = ] freq_type ]
[ , [ @freq_interval = ] freq_interval ]
[ , [ @freq_subday_type = ] freq_subday_type ]
[ , [ @freq_subday_interval = ] freq_subday_interval ]
[ , [ @freq_relative_interval = ] freq_relative_interval ]
[ , [ @freq_recurrence_factor = ] freq_recurrence_factor ]
[ , [ @active_start_date = ] active_start_date ]
[ , [ @active_end_date = ] active_end_date ]
[ , [ @active_start_time = ] active_start_time ]
[ , [ @active_end_time = ] active_end_time ]
[ , [ @owner_login_name = ] 'owner_login_name' ]
[ , [ @schedule_uid = ] schedule_uid OUTPUT ]
[ , [ @schedule_id = ] schedule_id OUTPUT ]
[ , [ @originating_server = ] server_name ] /* internal */
인수
- [ @schedule_name = ] 'schedule_name'
일정의 이름입니다. schedule_name은 sysname이며 기본값은 없습니다.
- [ @enabled = ] enabled
일정의 현재 상태를 나타냅니다. enabled는 tinyint이며 기본값은 1(사용)입니다. 0이 지정되어 있는 경우에는 일정을 사용할 수 없습니다. 일정을 사용할 수 없는 경우 이 일정에 따라 어떠한 작업도 실행되지 않습니다.
[ @freq_type = ] freq_type
작업이 실행될 시기를 나타내는 값입니다. freq_type은 int이며 기본값은 0이지만 다음 값 중 하나를 사용할 수 있습니다.값 설명 1
한 번
4
매일
8
매주
16
매월
32
매월(freq_interval에 상대적임)
64
SQLServerAgent 서비스를 시작할 때 실행
128
컴퓨터가 유휴 상태일 때 실행
[ @freq_interval = ] freq_interval
작업이 실행되는 날짜입니다. freq_interval은 int이며 기본값은 1이지만 freq_type의 값에 따라 달라집니다.freq_type의 값 freq_interval에 미치는 영향 1(한 번)
freq_interval이 사용되지 않습니다.
4(매일)
매 freq_interval일
8(매주)
freq_interval은 다음 중 하나 이상이 될 수 있습니다. 이 경우 OR 논리 연산자와 함께 사용할 수 있습니다.
1 = 일요일
2 = 월요일
4 = 화요일
8 = 수요일
16 = 목요일
32 = 금요일
64 = 토요일
16(매월)
월 중 freq_interval일
32(매월 상대적)
freq_interval은 다음 중 하나일 수 있습니다.
1 = 일요일
2 = 월요일
3 = 화요일
4 = 수요일
5 = 목요일
6 = 금요일
7 = 토요일
8 = 일
9 = 평일
10 = 주말
64(SQLServerAgent 서비스를 시작할 때)
freq_interval이 사용되지 않습니다.
128
freq_interval이 사용되지 않습니다.
[ @freq_subday_type = ] freq_subday_type
freq_subday_interval의 단위를 지정합니다. freq_subday_type은 int이며 다음 값 중 하나일 수 있고 기본값은 0입니다.값 설명(단위) 0x1
지정된 시간
0x4
분
0x8
시
- [ @freq_subday_interval = ] freq_subday_interval
각 작업 실행 간에 발생할 freq_subday_type 기간의 일 수입니다. freq_subday_interval은 int이며 기본값은 0입니다. freq_subday_type이 1인 경우 freq_subday_interval은 무시됩니다.
[ @freq_relative_interval = ] freq_relative_interval
freq_type이 32(매월, 상대적)인 경우 매월 freq_interval 기간의 작업 발생 횟수입니다. freq_relative_interval은 int이며 기본값은 0이지만 다음 값 중 하나를 사용할 수 있습니다. freq_type이 32가 아닌 경우 freq_relative_interval은 무시됩니다.값 설명(단위) 1
첫째
2
둘째
4
셋째
8
넷째
16
마지막
- [ @freq_recurrence_factor = ] freq_recurrence_factor
예약된 작업 실행 간에 발생하는 주 또는 월의 수입니다. freq_recurrence_factor는 freq_type이 8, 16 또는 32인 경우에만 사용됩니다. freq_recurrence_factor는 int이며 기본값은 0입니다.
- [ @active_start_date = ] active_start_date
작업 실행이 시작되는 날짜입니다. active_start_date는 int이며 기본값은 오늘 날짜를 나타내는 NULL입니다. 날짜 형식은 YYYYMMDD입니다. active_start_date가 NULL이 아닌 경우 날짜는 19900101보다 크거나 같아야 합니다. 일정을 만든 후 시작 날짜를 검토하고 올바른 날짜인지 확인하십시오. 자세한 내용은 일정 만들기의 "시작 날짜 예약" 섹션을 참조하십시오.
- [ @active_end_date = ] active_end_date
작업 실행이 중지되는 날짜입니다. active_end_date는 int이며 기본값은 9999년 12월 31일을 가리키는 99991231입니다. 날짜는 YYYYMMDD 형식으로 지정해야 합니다.
- [ @active_start_time = ] active_start_time
active_start_date와 active_end_date 사이에서 작업 실행을 시작할 시간입니다. active_start_time은 int이며 기본값은 24시간 기준으로 오전 12시를 가리키는 000000입니다. 시간은 HHMMSS 형식으로 입력해야 합니다.
- [ @active_end_time = ] active_end_time
active_start_date와 작업 실행을 종료할 active_end_date 사이 날짜의 시간입니다. active_end_time은 int이며 기본값은 24시간 기준으로 오후 11:59:59를 가리키는 235959입니다. 시간은 HHMMSS 형식으로 입력해야 합니다.
- [ @owner_login_name= ] 'owner_login_name'
일정을 소유하는 서버 보안 주체의 이름입니다. owner_login_name은 sysname이며 기본값은 작성자가 일정을 소유하고 있음을 나타내는 NULL입니다.
- [ @schedule_uid= ] schedule_uidOUTPUT
일정의 고유 식별자입니다. schedule_uid는 uniqueidentifier 유형의 변수입니다.
- [ @schedule_id= ] schedule_idOUTPUT
일정의 식별자입니다. schedule_id는 int 유형의 변수입니다.
- [ @originating_server= ] server_name
정보 제공용으로만 식별됩니다. 지원되지 않습니다. 향후 호환성은 보장되지 않습니다.
반환 코드 값
0(성공) 또는 1(실패)
결과 집합
없음
주의
SQL Server Management Studio는 작업 구조를 만들고 관리할 수 있는 바람직한 방법을 제공하는데 이는 그래픽을 사용하여 쉽게 작업을 관리할 수 있는 방법입니다.
사용 권한
기본적으로 sysadmin 고정 서버 역할의 멤버는 이 저장 프로시저를 실행할 수 있습니다. 다른 사용자는 msdb 데이터베이스의 다음 SQL Server 에이전트 고정 데이터베이스 역할 중 하나를 부여 받아야 합니다.
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
이러한 역할의 사용 권한에 대한 자세한 내용은 SQL Server 에이전트 고정 데이터베이스 역할을 참조하십시오.
예
1. 일정 만들기
다음 예에서는 RunOnce
라는 일정을 만듭니다. 일정은 일정이 생성된 날짜의 특정 시간 23시 30분에 실행됩니다.
USE msdb ;
GO
EXEC dbo.sp_add_schedule
@schedule_name = N'RunOnce',
@freq_type = 1,
@active_start_time = 233000 ;
GO
2. 일정 만들기, 여러 작업에 일정 연결
다음 예에서는 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_attach_schedule(Transact-SQL)
sp_detach_schedule(Transact-SQL)
sp_delete_schedule(Transact-SQL)
도움말 및 정보
변경 내역
릴리스 | 내역 |
---|---|
2008년 11월 17일 |
|
2006년 12월 12일 |
|
2006년 7월 17일 |
|
2006년 4월 14일 |
|