Share via


sp_delete_schedule (Transact-SQL)

Supprime une planification.

Icône Lien de rubrique Conventions de la syntaxe 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 NULL comme valeur par défaut.

    [!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. schedule_name est de type sysname, avec NULL comme valeur par défaut.

    [!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

Notez que le propriétaire du travail peut joindre un travail à une planification et détacher un travail d'une planification sans être le propriétaire de la planification. Toutefois, une planification ne peut pas être supprimée si le détachement la conserve sans travaux, à moins que l'appelant ne soit le propriétaire de la planification.

Pour plus d'informations sur les autorisations relatives à 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

Voir aussi

Référence

sp_add_schedule (Transact-SQL)

Concepts

Implémenter des travaux