sp_update_schedule(Transact-SQL)

업데이트: 2008년 11월 17일

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_idint이며 기본값은 없습니다. schedule_id 또는 schedule_name을 지정해야 합니다.
  • [ @name = ] 'schedule_name'
    수정할 일정의 이름입니다. schedule_namesysname이며 기본값은 없습니다. schedule_id 또는 schedule_name을 지정해야 합니다.
  • [ @new_name= ] new_name
    일정의 새 이름입니다. new_namesysname이며 기본값은 NULL입니다. new_name이 NULL이면 일정의 이름이 변경되지 않습니다.
  • [ @enabled = ] enabled
    일정의 현재 상태를 나타냅니다. enabledtinyint이며 기본값은 1(사용)입니다. 0이 지정되어 있는 경우에는 일정을 사용할 수 없습니다. 일정을 사용할 수 없는 경우 이 일정에 따라 어떠한 작업도 실행되지 않습니다.
  • [ @freq_type = ] freq_type
    작업이 실행될 시기를 나타내는 값입니다. freq_typeint이며 기본값은 0이지만 다음 값 중 하나를 사용할 수 있습니다.

    설명

    1

    한 번

    4

    매일

    8

    매주

    16

    매월

    32

    매월(freq interval에 상대적임)

    64

    SQLServerAgent 서비스를 시작할 때 실행

    128

    컴퓨터가 유휴 상태일 때 실행

  • [ @freq_interval = ] freq_interval
    작업이 실행되는 날짜입니다. freq_intervalint이며 기본값은 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_typeint이며 다음 값 중 하나일 수 있고 기본값은 0입니다.

    설명(단위)

    0x1

    지정된 시간

    0x2

    0x4

    0x8

    시간

  • [ @freq_subday_interval = ] freq_subday_interval
    각 작업 실행 간에 발생할 freq_subday_type 기간의 일 수입니다. freq_subday_intervalint이며 기본값은 0입니다.
  • [ @freq_relative_interval = ] freq_relative_interval
    freq_interval32(매월 상대적)인 경우 매월 freq_interval 기간의 작업 발생 횟수입니다. freq_relative_intervalint이며 기본값은 0이지만 다음 값 중 하나를 사용할 수 있습니다.

    설명(단위)

    1

    첫째

    2

    둘째

    4

    셋째

    8

    넷째

    16

    마지막

  • [ @freq_recurrence_factor = ] freq_recurrence_factor
    예약된 작업 실행 간에 발생하는 주 또는 월의 수입니다. freq_recurrence_factorfreq_type8, 16 또는 32인 경우에만 사용됩니다. freq_recurrence_factorint이며 기본값은 0입니다.
  • [ @active_start_date = ] active_start_date
    작업 실행이 시작되는 날짜입니다. active_start_dateint이며 기본값은 오늘 날짜를 나타내는 NULL입니다. 날짜 형식은 YYYYMMDD입니다. active_start_date가 NULL이 아닌 경우에는 반드시 날짜가 19900101 이후여야 합니다.

    일정을 만든 후 시작 날짜를 검토하고 올바른 날짜인지 확인하십시오. 자세한 내용은 일정 만들기의 "시작 날짜 예약" 섹션을 참조하십시오.

  • [ @active_end_date = ] active_end_date
    작업 실행이 중지되는 날짜입니다. active_end_dateint이며 기본값은 9999년 12월 31일을 가리키는 99991231입니다. 날짜는 YYYYMMDD 형식으로 지정해야 합니다.
  • [ @active_start_time = ] active_start_time
    active_start_dateactive_end_date 사이에서 작업 실행을 시작할 시간입니다. active_start_timeint이며 기본값은 24시간 기준으로 오전 12시를 가리키는 000000입니다. 시간은 HHMMSS 형식으로 입력해야 합니다.
  • [ @active_end_time = ] active_end_time
    active_start_date와 작업 실행을 종료할 active_end_date 사이 날짜의 시간입니다. active_end_timeint이며 기본값은 24시간 기준으로 오후 11:59:59를 가리키는 235959입니다. 시간은 HHMMSS 형식으로 입력해야 합니다.
  • [ @owner_login_name= ] 'owner_login_name']
    일정을 소유하는 서버 보안 주체의 이름입니다. owner_login_namesysname이며 기본값은 작성자가 일정을 소유하고 있음을 나타내는 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

참고 항목

참조

sp_add_schedule(Transact-SQL)
sp_delete_schedule(Transact-SQL)
sp_help_schedule(Transact-SQL)

도움말 및 정보

SQL Server 2005 지원 받기

변경 내역

릴리스 내역

2008년 11월 17일

변경된 내용
  • @ active_start_date에 대한 정보를 추가했습니다.