sp_update_job(Transact-SQL)
적용 대상: SQL Server Azure SQL Managed Instance
SQL Server 에이전트 서비스에서 만든 기존 작업의 특성을 업데이트합니다.
구문
sp_update_job
[ [ @job_id = ] 'job_id' ]
[ , [ @job_name = ] N'job_name' ]
[ , [ @new_name = ] N'new_name' ]
[ , [ @enabled = ] enabled ]
[ , [ @description = ] N'description' ]
[ , [ @start_step_id = ] start_step_id ]
[ , [ @category_name = ] N'category_name' ]
[ , [ @owner_login_name = ] N'owner_login_name' ]
[ , [ @notify_level_eventlog = ] notify_level_eventlog ]
[ , [ @notify_level_email = ] notify_level_email ]
[ , [ @notify_level_netsend = ] notify_level_netsend ]
[ , [ @notify_level_page = ] notify_level_page ]
[ , [ @notify_email_operator_name = ] N'notify_email_operator_name' ]
[ , [ @notify_netsend_operator_name = ] N'notify_netsend_operator_name' ]
[ , [ @notify_page_operator_name = ] N'notify_page_operator_name' ]
[ , [ @delete_level = ] delete_level ]
[ , [ @automatic_post = ] automatic_post ]
[ ; ]
인수
[ @job_id = ] 'job_id'
업데이트할 작업의 ID입니다. @job_id 기본값NULL
인 uniqueidentifier입니다.
@job_id 또는 @job_name 지정해야 하지만 둘 다 지정할 수는 없습니다.
[ @job_name = ] N'job_name'
작업의 이름입니다. @job_name sysname이며 기본값은 .입니다NULL
.
@job_id 또는 @job_name 지정해야 하지만 둘 다 지정할 수는 없습니다.
[ @new_name = ] N'new_name'
작업의 새 이름입니다. @new_name sysname이며 기본값은 .입니다NULL
.
[ @enabled = ] 사용
작업을 사용할 수 있는지(1
) 또는 활성화되지 않았는지(0
)를 지정합니다. @enabled 기본값NULL
인 tinyint입니다.
[ @description = ] N'description'
작업에 대한 설명입니다. @description 기본값NULL
인 nvarchar(512)입니다.
[ @start_step_id = ] start_step_id
작업에 대해 실행할 첫 번째 단계의 ID 번호입니다. @start_step_id 기본값NULL
인 int입니다.
[ @category_name = ] N'category_name'
작업 범주입니다. @category_name sysname이며 기본값은 .입니다NULL
.
[ @owner_login_name = ] N'owner_login_name'
작업을 소유하는 로그인의 이름입니다. @owner_login_name sysname이며 기본값은 .입니다NULL
. sysadmin 고정 서버 역할의 멤버만 작업 소유권을 변경할 수 있습니다.
[ @notify_level_eventlog = ] notify_level_eventlog
이 작업에 대한 Microsoft Windows 애플리케이션 로그에 항목을 배치할 시기를 지정합니다. @notify_level_eventlog int이며 이러한 값 중 하나일 수 있습니다.
값 | 설명(동작) |
---|---|
0 |
Never |
1 |
성공 |
2 |
실패 시 |
3 |
항상 |
[ @notify_level_email = ] notify_level_email
이 작업이 완료되면 전자 메일을 보낼 시기를 지정합니다. @notify_level_email 기본값NULL
인 int입니다. @notify_level_email @notify_level_eventlog 동일한 값을 사용합니다.
[ @notify_level_netsend = ] notify_level_netsend
이 작업이 완료되면 네트워크 메시지를 보낼 시기를 지정합니다. @notify_level_netsend 기본값NULL
인 int입니다. @notify_level_netsend @notify_level_eventlog 동일한 값을 사용합니다.
[ @notify_level_page = ] notify_level_page
이 작업이 완료되면 페이지를 보낼 시기를 지정합니다. @notify_level_page 기본값NULL
인 int입니다. @notify_level_page @notify_level_eventlog 동일한 값을 사용합니다.
[ @notify_email_operator_name = ] N'notify_email_operator_name'
email_level 연결할 때 전자 메일을 보낼 운영자의 이름입니다. @notify_email_operator_name sysname이며 기본값은 .입니다NULL
.
[ @notify_netsend_operator_name = ] N'notify_netsend_operator_name'
네트워크 메시지를 보낼 운영자의 이름입니다. @notify_netsend_operator_name sysname이며 기본값은 .입니다NULL
.
[ @notify_page_operator_name = ] N'notify_page_operator_name'
페이지를 받을 운영자의 이름입니다. @notify_page_operator_name sysname이며 기본값은 .입니다NULL
.
[ @delete_level = ] delete_level
작업을 삭제할 시기를 지정합니다. @delete_level 기본값NULL
인 int입니다. @delete_level @notify_level_eventlog 동일한 값을 사용합니다.
[ @automatic_post = ] automatic_post
정보를 제공하기 위해서만 확인됩니다. 지원 안 됨. 향후 호환성은 보장되지 않습니다.
반환 코드 값
0
(성공) 또는 1
(실패).
설명
sp_update_job
는 데이터베이스에서 msdb
실행되어야 합니다.
sp_update_job
는 매개 변수 값이 제공되는 설정만 변경합니다. 매개 변수를 생략하면 현재 설정이 유지됩니다.
이 저장 프로시저는 Azure SQL Database용 Azure Elastic Jobs 서비스에 대한 유사한 개체와 이름을 sp_update_job
공유합니다. 탄력적 작업 버전에 대한 자세한 내용은 jobs.sp_update_job(Azure 탄력적 작업)를 참조하세요.
사용 권한
이 절차에 대한 사용 권한을 부여 EXECUTE
할 수 있지만 SQL Server 업그레이드 중에 이러한 권한이 재정의될 수 있습니다.
다른 사용자에게는 데이터베이스에서 다음 SQL Server 에이전트 고정 데이터베이스 역할 msdb
중 하나가 부여되어야 합니다.
- 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