다음을 통해 공유


sp_update_job(Transact-SQL)

작업의 특성을 변경합니다.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

sp_update_job [ @job_id =] job_id | [@job_name =] 'job_name'
     [, [@new_name =] 'new_name' ] 
     [, [@enabled =] enabled ]
     [, [@description =] 'description' ] 
     [, [@start_step_id =] step_id ]
     [, [@category_name =] 'category' ] 
     [, [@owner_login_name =] 'login' ]
     [, [@notify_level_eventlog =] eventlog_level ]
     [, [@notify_level_email =] email_level ]
     [, [@notify_level_netsend =] netsend_level ]
     [, [@notify_level_page =] page_level ]
     [, [@notify_email_operator_name =] 'email_name' ]
          [, [@notify_netsend_operator_name =] 'netsend_operator' ]
          [, [@notify_page_operator_name =] 'page_operator' ]
     [, [@delete_level =] delete_level ] 
     [, [@automatic_post =] automatic_post ]

인수

  • [ @job_id =] job_id
    업데이트할 작업의 ID입니다. job_id는 uniqueidentifier입니다.

  • [ @job_name =] 'job_name'
    작업 이름입니다. job_name은 nvarchar(128)입니다.

    [!참고]

    job_id 또는 job_name 중 하나를 지정해야 하며 둘 다를 지정할 수는 없습니다.

  • [ @new_name =] 'new_name'
    작업의 새 이름입니다. new_name은 nvarchar(128)입니다.

  • [ @enabled =] enabled
    작업을 설정할지(1) 또는 설정하지 않을지(0) 여부를 지정합니다. enabled는 tinyint입니다.

  • [ @description =] 'description'
    작업에 대한 설명입니다. description은 nvarchar(512)입니다.

  • [ @start_step_id =] step_id
    작업을 실행하기 위한 첫 단계의 ID 번호입니다. step_id는 int입니다.

  • [ @category_name =] 'category'
    작업 범주입니다. category는 nvarchar(128)입니다.

  • [ @owner_login_name =] 'login'
    작업을 소유한 로그인의 이름입니다. login은 nvarchar(128)입니다. sysadmin 고정 서버 역할의 멤버만 작업 소유권을 변경할 수 있습니다.

  • [ @notify_level_eventlog =] eventlog_level
    Microsoft Windows 응용 프로그램 로그에 이 작업에 대한 항목을 저장하는 시기를 지정합니다. eventlog_level은 int이며 다음 값 중 하나일 수 있습니다.

    설명(동작)

    0

    없음

    1

    성공한 경우

    2

    실패한 경우

    3

    항상

  • [ @notify_level_email =] email_level
    해당 작업이 완료될 때 전자 메일을 보낼 시기를 지정합니다. email_level은 int입니다. email_level은 eventlog_level과 같은 값을 사용합니다.

  • [ @notify_level_netsend =] netsend_level
    해당 작업이 완료되었을 때 네트워크 메시지를 보낼 시기를 지정합니다. netsend_level은 int입니다. netsend_level은 eventlog_level과 같은 값을 사용합니다.

  • [ @notify_level_page =] page_level
    해당 작업이 완료될 때 페이지를 보낼 시기를 지정합니다. page_level은 int입니다. page_level은 eventlog_level과 같은 값을 사용합니다.

  • [ @notify_email_operator_name =] 'email_name'
    email_level에 도달했을 때 전자 메일을 받을 운영자의 전자 메일 이름입니다. email_name은 nvarchar(128)입니다.

  • [ @notify_netsend_operator_name =] 'netsend_operator'
    네트워크 메시지를 받을 운영자의 이름입니다. netsend_operator는 nvarchar(128)입니다.

  • [ @notify_page_operator_name =] 'page_operator'
    페이지를 받을 운영자의 이름입니다. page_operator는 nvarchar(128)입니다.

  • [ @delete_level =] delete_level
    작업 삭제 시기를 지정합니다. delete_value는 int입니다. delete_level은 eventlog_level과 같은 값을 사용합니다.

  • [ @automatic_post =] automatic_post
    예약되어 있습니다.

반환 코드 값

0(성공) 또는 1(실패)

주의

sp_update_job은 반드시 msdb 데이터베이스에서 실행해야 합니다.

sp_update_job은 매개 변수 값이 제공되는 설정만 변경합니다. 매개 변수가 생략되면 현재 설정이 보존됩니다.

사용 권한

기본적으로 sysadmin 고정 서버 역할의 멤버는 이 저장 프로시저를 실행할 수 있습니다. 다른 사용자는 msdb 데이터베이스의 다음 SQL Server 에이전트 고정 데이터베이스 역할 중 하나를 부여 받아야 합니다.

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

이러한 역할의 사용 권한에 대한 자세한 내용은 SQL Server 에이전트 고정 데이터베이스 역할을 참조하십시오.

sysadmin의 멤버만 이 저장 프로시저를 사용하여 다른 사용자가 소유한 작업 특성을 편집할 수 있습니다.

다음 예에서는 NightlyBackups 작업의 이름, 설명 및 활성화 상태를 변경합니다.

USE msdb ;
GO

EXEC dbo.sp_update_job
    @job_name = N'NightlyBackups',
    @new_name = N'NightlyBackups -- Disabled',
    @description = N'Nightly backups disabled during server migration.',
    @enabled = 0 ;
GO