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