sp_delete_job (Transact-SQL)

Syntaxe

sp_delete_job { [ @job_id = ] job_id | [ @job_name = ] 'job_name' } ,
     [ , [ @originating_server = ] 'server' ] 
     [ , [ @delete_history = ] delete_history ]
     [ , [ @delete_unused_schedule = ] delete_unused_schedule ]

Arguments

  • [ @job_id= ] job_id
    Numéro d'identification du travail à supprimer. job_id est de type uniqueidentifier, avec NULL comme valeur par défaut.

  • [ @job_name= ] 'job_name'
    Nom du travail à supprimer. L'argument job_name est de type sysname, avec NULL comme valeur par défaut.

    Notes

    Vous pouvez définir la valeur de job_id ou de job_name, mais pas les deux valeurs à la fois.

  • [ @originating_server= ] 'server'
    À usage interne uniquement.

  • [ @delete_history= ] delete_history
    Indique s'il faut supprimer l'historique du travail. delete_history est de type bit, avec une valeur par défaut de 1. Lorsque delete_history a la valeur 1, l'historique du travail est supprimé. Lorsque delete_history a la valeur 0, l'historique du travail n'est pas supprimé.

    Notez que lorsqu'un travail est supprimé et que son historique ne l'est pas, les informations historiques correspondant au travail ne s'affichent pas dans l'historique de l'interface utilisateur graphique de l'Agent SQL Server. En revanche, elles se trouvent toujours dans la table sysjobhistory de la base de données msdb.

  • [ @delete_unused_schedule= ] delete_unused_schedule
    Indique s'il faut supprimer les planifications associées à ce travail lorsque aucun autre travail n'y fait référence. delete_unused_schedule est de type bit, avec une valeur par défaut de 1. Si delete_unused_schedule a la valeur 1, les planifications associées à ce travail sont supprimées si aucun autre travail n'y fait référence. Si delete_unused_schedule a la valeur 0, les planifications ne sont pas supprimées.

Valeurs des codes renvoyés

0 (succès) ou 1 (échec)

Jeux de résultats

Aucun

Notes

L'argument @originating_server est réservé à un usage interne.

L'argument @delete_unused_schedule assure la compatibilité amont avec les versions antérieures de SQL Server en supprimant automatiquement les planifications auxquelles plus aucun travail ne fait référence. Notez que, par défaut, ce paramètre permet la compatibilité amont. Pour conserver les planifications qui ne sont associées à aucun travail, vous devez donner la valeur 0 à l'argument @delete_unused_schedule.

SQL Server Management Studio est un outil dont l'interface graphique permet de gérer facilement les travaux. Son utilisation est recommandée pour créer et gérer l'infrastructure des travaux.

Cette procédure stockée ne peut pas supprimer les plans de maintenance ni les travaux relevant de plans de maintenance. Pour supprimer les plans de maintenance, vous devez utiliser SQL Server Management Studio.

Autorisations

Seuls les membres du rôle de serveur fixe sysadmin peuvent exécuter cette procédure stockée. Les autres utilisateurs doivent disposer de l'un des rôles de base de données fixes SQL Server Agent suivants dans la base de données msdb.

  • 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.

Les membres du rôle de serveur fixe sysadmin peuvent exécuter sp_delete_job pour supprimer un travail. Un utilisateur qui n'est pas membre du rôle de serveur fixe sysadmin n'a le droit de supprimer que les travaux dont il est propriétaire.

Exemple

L'exemple suivant supprime le travail NightlyBackups.

USE msdb ;
GO

EXEC sp_delete_job
    @job_name = N'NightlyBackups' ;
GO