Partager via


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

Vous pouvez accorder EXECUTE des autorisations sur cette procédure, 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