Share via


sp_delete_schedule (Transact-SQL)

Supprime une planification.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

sp_delete_schedule { [ @schedule_id = ] schedule_id | [ @schedule_name = ] 'schedule_name' } ,
     [ @force_delete = ] force_delete

Arguments

  • [ @schedule_id= ] schedule_id
    Numéro d'identification de la planification à supprimer. schedule_id est de type int, avec la valeur par défaut NULL.

    [!REMARQUE]

    Vous devez définir la valeur de schedule_id ou de schedule_name, mais pas les deux valeurs à la fois.

  • [ @schedule_name= ] 'schedule_name'
    Nom de la planification à supprimer. L'argument schedule_name est de type sysname et sa valeur par défaut est NULL.

    [!REMARQUE]

    Vous devez définir la valeur de schedule_id ou de schedule_name, mais pas les deux valeurs à la fois.

  • [ @force_delete = ] force_delete
    Spécifie si la procédure doit échouer lorsque la planification est attachée à un travail. Force_delete est de type bit, avec 0 comme valeur par défaut. Lorsque l'argument force_delete a la valeur 0, la procédure stockée échoue si la planification est attachée à un travail. Lorsque l'argument force_delete a la valeur 1, la planification est supprimée, qu'elle soit ou non attachée à un travail.

Valeurs des codes de retour

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

Ensembles de résultats

Aucun

Notes

Par défaut, il est impossible de supprimer une planification si elle est attachée à un travail. Pour supprimer une planification qui est attachée à un travail, spécifiez la valeur 1 pour force_delete. La suppression d'une planification n'arrête pas les travaux en cours d'exécution.

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.

Seuls les membres du rôle sysadmin peuvent supprimer une planification de travail appartenant à un autre utilisateur.

Exemples

A. Suppression d'une planification

L'exemple suivant supprime la planification NightlyJobs. Si la planification est attachée à un travail, l'exemple ne la supprime pas.

USE msdb ;
GO

EXEC dbo.sp_delete_schedule
    @schedule_name = N'NightlyJobs' ;
GO

B. Suppression d'une planification attachée à un travail

L'exemple suivant supprime la planification RunOnce, qu'elle soit ou non attachée à un travail.

USE msdb ;
GO

EXEC dbo.sp_delete_schedule
    @schedule_name = 'RunOnce',
    @force_delete = 1;
GO