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
Questa stored procedure è di proprietà del ruolo db_owner . È possibile concedere EXECUTE
autorizzazioni per qualsiasi utente, ma queste autorizzazioni possono 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