sp_update_job (Transact-SQL)
S’applique à : SQL Server Azure SQL Managed Instance
Met à jour les attributs d’un travail existant créé dans le service SQL Server Agent.
Conventions de la syntaxe Transact-SQL
Syntaxe
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 ]
[ ; ]
Arguments
[ @job_id = ] 'job_id'
Numéro d'identification du travail à mettre à jour. @job_id est uniqueidentifier, avec la valeur par défaut NULL
.
Vous devez spécifier @job_id ou @job_name , mais les deux ne peuvent pas être spécifiées.
[ @job_name = ] N’job_name'
Nom du travail. @job_name est sysname, avec la valeur par défaut NULL
.
Vous devez spécifier @job_id ou @job_name , mais les deux ne peuvent pas être spécifiées.
[ @new_name = ] N’new_name'
Nouveau nom du travail. @new_name est sysname, avec la valeur par défaut NULL
.
[ @enabled = ] activé
Spécifie si le travail est activé (1
) ou non (0
). @enabled est tinyint, avec une valeur par défaut de NULL
.
[ @description = ] N’description'
Description du travail. @description est nvarchar(512), avec la valeur par défaut NULL
.
[ @start_step_id = ] start_step_id
Numéro d'identification de la première étape à exécuter pour le travail. @start_step_id est int, avec la valeur par défaut NULL
.
[ @category_name = ] N’category_name'
Catégorie du travail. @category_name est sysname, avec la valeur par défaut NULL
.
[ @owner_login_name = ] N’owner_login_name'
Nom du compte de connexion propriétaire du travail. @owner_login_name est sysname, avec la valeur par défaut NULL
. Seuls les membres du rôle serveur fixe sysadmin peuvent modifier la propriété du travail.
[ @notify_level_eventlog = ] notify_level_eventlog
Indique le moment auquel une entrée doit être ajoutée pour ce travail dans le journal des applications Microsoft Windows. @notify_level_eventlog est int et peut être l’une de ces valeurs.
Valeur | Description (action) |
---|---|
0 |
Jamais |
1 |
Si succès |
2 |
Si échec |
3 |
Toujours |
[ @notify_level_email = ] notify_level_email
Indique le moment où un message électronique doit être envoyé à la fin de ce travail. @notify_level_email est int, avec la valeur par défaut NULL
. @notify_level_email utilise les mêmes valeurs que @notify_level_eventlog.
[ @notify_level_netsend = ] notify_level_netsend
Indique le moment où un message doit être envoyé sur le réseau à la fin de ce travail. @notify_level_netsend est int, avec la valeur par défaut NULL
. @notify_level_netsend utilise les mêmes valeurs que @notify_level_eventlog.
[ @notify_level_page = ] notify_level_page
Indique le moment où un message par radiomessagerie doit être envoyé à la fin de ce travail. @notify_level_page est int, avec la valeur par défaut NULL
. @notify_level_page utilise les mêmes valeurs que @notify_level_eventlog.
[ @notify_email_operator_name = ] N’notify_email_operator_name'
Nom de l’opérateur auquel l’e-mail est envoyé lorsque email_level est atteint. @notify_email_operator_name est sysname, avec la valeur par défaut NULL
.
[ @notify_netsend_operator_name = ] N’notify_netsend_operator_name'
Nom de l'opérateur auquel le message est envoyé par réseau. @notify_netsend_operator_name est sysname, avec la valeur par défaut NULL
.
[ @notify_page_operator_name = ] N’notify_page_operator_name'
Nom de l'opérateur auquel un message par radiomessagerie est envoyé. @notify_page_operator_name est sysname, avec la valeur par défaut NULL
.
[ @delete_level = ] delete_level
Indique le moment où le travail doit être supprimé. @delete_level est int, avec la valeur par défaut NULL
. @delete_level utilise les mêmes valeurs que @notify_level_eventlog.
[ @automatic_post = ] automatic_post
Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie.
Valeurs des codes de retour
0
(réussite) or 1
(échec).
Notes
sp_update_job
doit être exécuté à partir de la msdb
base de données.
sp_update_job
modifie uniquement les paramètres pour lesquels les valeurs de paramètre sont fournies. Si un paramètre est manquant, la valeur actuelle est retenue.
Cette procédure stockée partage le nom d’un sp_update_job
objet similaire pour le service Travaux élastiques Azure pour Azure SQL Database. Pour plus d’informations sur la version des travaux élastiques, consultez jobs.sp_update_job (Travaux élastiques Azure).
autorisations
Cette procédure stockée appartient au rôle db_owner . Vous pouvez accorder EXECUTE
des autorisations pour n’importe quel utilisateur, mais ces autorisations peuvent être remplacées lors d’une mise à niveau de SQL Server.
D’autres utilisateurs doivent disposer de l’un des rôles de base de données fixes SQL Server Agent suivants dans la msdb
base de données :
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Pour en savoir plus sur les autorisations de ces rôles, consultez Rôles de base de données fixes de l'Agent SQL Server.
Seuls les membres de sysadmin peuvent utiliser cette procédure stockée pour modifier les attributs des travaux appartenant à d’autres utilisateurs.
Exemples
Cet exemple modifie le nom, la description et l'état (activé ou non) du travail 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