Condividi tramite


sp_update_job (Transact-SQL)

Si applica a: SQL Server Istanza gestita di SQL di Azure

Aggiorna gli attributi di un processo esistente creato nel servizio SQL Server Agent.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

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 ]
[ ; ]

Argomenti

[ @job_id = ] 'job_id'

Numero di identificazione del processo da aggiornare. @job_id è uniqueidentifier, con un valore predefinito .NULL

È necessario specificare @job_id o @job_name , ma non è possibile specificare entrambi.

[ @job_name = ] N'job_name'

Il nome del processo. @job_name è sysname, con il valore predefinito NULL.

È necessario specificare @job_id o @job_name , ma non è possibile specificare entrambi.

[ @new_name = ] N'new_name'

Nuovo nome del processo. @new_name è sysname, con un valore predefinito .NULL

[ @enabled = ] abilitato

Specifica se il processo è abilitato (1) o non abilitato (0). @enabled è tinyint, con un valore predefinito .NULL

[ @description = ] N'description'

Descrizione del processo. @description è nvarchar(512), con il valore predefinito NULL.

[ @start_step_id = ] start_step_id

Numero di identificazione del primo passaggio da eseguire per il processo. @start_step_id è int, con il valore predefinito NULL.

[ @category_name = ] N'category_name'

Categoria del processo. @category_name è sysname, con un valore predefinito .NULL

[ @owner_login_name = ] N'owner_login_name'

Nome dell'account di accesso proprietario del processo. @owner_login_name è sysname, con il valore predefinito NULL. Solo i membri del ruolo predefinito del server sysadmin possono modificare la proprietà del processo.

[ @notify_level_eventlog = ] notify_level_eventlog

Viene specificato quando inserire una voce per il processo nel registro applicazioni di Microsoft Windows. @notify_level_eventlog è int e può essere uno di questi valori.

Valore Descrizione (azione)
0 Mai
1 In caso di esito positivo
2 In caso di esito negativo
3 Sempre

[ @notify_level_email = ] notify_level_email

Viene specificato quando inviare un messaggio di posta elettronica al termine del processo. @notify_level_email è int, con il valore predefinito .NULL @notify_level_email usa gli stessi valori di @notify_level_eventlog.

[ @notify_level_netsend = ] notify_level_netsend

Viene specificato quando inviare un messaggio di rete al termine del processo. @notify_level_netsend è int, con il valore predefinito NULL. @notify_level_netsend usa gli stessi valori di @notify_level_eventlog.

[ @notify_level_page = ] notify_level_page

Viene specificato quando inviare una pagina al termine del processo. @notify_level_page è int, con un valore predefinito .NULL @notify_level_page usa gli stessi valori di @notify_level_eventlog.

[ @notify_email_operator_name = ] N'notify_email_operator_name'

Nome dell'operatore a cui viene inviato il messaggio di posta elettronica quando viene raggiunto email_level . @notify_email_operator_name è sysname, con un valore predefinito .NULL

[ @notify_netsend_operator_name = ] N'notify_netsend_operator_name'

Nome dell'operatore a cui viene inviato il messaggio di rete. @notify_netsend_operator_name è sysname, con un valore predefinito .NULL

[ @notify_page_operator_name = ] N'notify_page_operator_name'

Nome dell'operatore a cui viene inviata una pagina. @notify_page_operator_name è sysname, con un valore predefinito .NULL

[ @delete_level = ] delete_level

Specifica quando eliminare il processo. @delete_level è int, con il valore predefinito .NULL @delete_level usa gli stessi valori di @notify_level_eventlog.

[ @automatic_post = ] automatic_post

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Osservazioni:

sp_update_job deve essere eseguito dal msdb database.

sp_update_job modifica solo le impostazioni per le quali vengono specificati i valori dei parametri. Se si omette un parametro, viene mantenuta l'impostazione corrente.

Questa stored procedure condivide il nome di con un oggetto simile per il servizio Processi elastici di sp_update_job Azure per database SQL di Azure. Per informazioni sulla versione dei processi elastici, vedere jobs.sp_update_job (processi elastici di Azure).

Autorizzazioni

È possibile concedere EXECUTE autorizzazioni per questa procedura, ma queste autorizzazioni potrebbero essere sottoposte a override durante un aggiornamento di SQL Server.

È necessario concedere ad altri utenti uno dei ruoli predefiniti del database di SQL Server Agent seguenti:msdb

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Per informazioni dettagliate sulle autorizzazioni di questi ruoli, vedere Ruoli di database predefiniti di SQL Server Agent.

Solo i membri di sysadmin possono utilizzare questa stored procedure per modificare gli attributi dei processi di proprietà di altri utenti.

Esempi

Nell'esempio seguente vengono modificati il nome, la descrizione e lo stato di attivazione del processo 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