Partager via


sp_delete_schedule (Transact-SQL)

S'applique à : SQL Server

Supprime une planification.

Conventions de la syntaxe Transact-SQL

Syntaxe

sp_delete_schedule
    [ [ @schedule_id = ] schedule_id ]
    [ , [ @schedule_name = ] N'schedule_name' ]
    [ , [ @force_delete = ] force_delete ]
    [ , [ @automatic_post = ] automatic_post ]
[ ; ]

Arguments

[ @schedule_id = ] schedule_id

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

@schedule_id ou @schedule_name doivent être spécifiés, mais les deux ne peuvent pas être spécifiés.

[ @schedule_name = ] N’schedule_name'

Nom de la planification à supprimer. @schedule_name est sysname, avec la valeur par défaut NULL.

@schedule_id ou @schedule_name doivent être spécifiés, mais les deux ne peuvent pas être spécifiés.

[ @force_delete = ] force_delete

Spécifie si la procédure doit échouer lorsque la planification est attachée à un travail. @force_delete est bit, avec la valeur par défaut 0.

  • Lorsque @force_delete est 0, la procédure stockée échoue si la planification est attachée à un travail.
  • Lorsque @force_delete est 1, la planification est supprimée, que la planification soit attachée à un travail.

[ @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).

Jeu de résultats

Aucune.

Notes

Par défaut, une planification ne peut pas être supprimée si la planification est attachée à un travail. Pour supprimer une planification attachée à un travail, spécifiez la valeur de 1 @force_delete. La suppression d’une planification n’arrête pas les travaux en cours d’exécution.

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

Le propriétaire du travail peut attacher un travail à une planification et détacher un travail d’une planification sans avoir à être le propriétaire de la planification. Toutefois, une planification ne peut pas être supprimée si le détachement ne le laisserait pas sans travaux, sauf si l’appelant est le propriétaire de la planification.

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

R. Supprimer une planification

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

USE msdb;
GO

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

B. Supprimer 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