sp_update_schedule(Transact-SQL)
SQL Server 에이전트 일정에 대한 설정을 변경합니다.
구문
sp_update_schedule
{ [ @schedule_id = ] schedule_id
| [ @name = ] 'schedule_name' }
[ , [ @new_name = ] new_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' ]
[ , [ @automatic_post =] automatic_post ]
인수
[ @schedule_id = ] schedule_id
수정할 일정의 식별자입니다. schedule_id는 int이며 기본값은 없습니다. schedule_id 또는 schedule_name을 지정해야 합니다.[ @name = ] 'schedule_name'
수정할 일정의 이름입니다. schedule_name은 sysname이며 기본값은 없습니다. schedule_id 또는 schedule_name을 지정해야 합니다.[ @new_name= ] new_name
일정의 새 이름입니다. new_name은 sysname이며 기본값은 NULL입니다. new_name이 NULL이면 일정의 이름이 변경되지 않습니다.[ @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이고 기본값은 0이며 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
지정된 시간
0x2
초
0x4
분
0x8
시
[ @freq_subday_interval = ] freq_subday_interval
각 작업 실행 간에 발생할 freq_subday_type 기간의 일 수입니다. freq_subday_interval은 int이며 기본값은 0입니다.[ @freq_relative_interval = ] freq_relative_interval
freq_interval이 32(매월 상대적)인 경우 매월 freq_interval 기간의 작업 발생 횟수입니다. freq_relative_interval은 int이고 기본값은 0이며 다음 값 중 하나를 사용할 수 있습니다.값
설명(단위)
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입니다.[ @automatic_post =] automatic_post
예약되어 있습니다.
반환 코드 값
0(성공) 또는 1(실패)
주의
일정을 즉시 사용하는 모든 작업은 새 설정을 사용합니다. 그러나 일정을 변경해도 현재 실행 중인 작업은 중지되지 않습니다.
사용 권한
기본적으로 sysadmin 고정 서버 역할의 멤버는 이 저장 프로시저를 실행할 수 있습니다. 다른 사용자는 msdb 데이터베이스의 다음 SQL Server 에이전트 고정 데이터베이스 역할 중 하나를 부여 받아야 합니다.
SQLAgentUserRole
SQLAgentReaderRole
SQLAgentOperatorRole
이러한 역할의 사용 권한에 대한 자세한 내용은 SQL Server 에이전트 고정 데이터베이스 역할을 참조하십시오.
sysadmin의 멤버만 다른 사용자가 소유한 일정을 수정할 수 있습니다.
예
다음 예에서는 NightlyJobs 일정의 활성화된 상태를 0으로 변경하고 소유자를 terrid로 설정합니다.
USE msdb ;
GO
EXEC dbo.sp_update_schedule
@name = 'NightlyJobs',
@enabled = 0,
@owner_login_name = 'terrid' ;
GO
참고 항목