sp_detach_schedule (Transact-SQL)
S'applique à : SQL Server
Supprime l'association entre une planification et un travail.
Conventions de la syntaxe Transact-SQL
Syntaxe
sp_detach_schedule
[ [ @job_id = ] 'job_id' ]
[ , [ @job_name = ] N'job_name' ]
[ , [ @schedule_id = ] schedule_id ]
[ , [ @schedule_name = ] N'schedule_name' ]
[ , [ @delete_unused_schedule = ] delete_unused_schedule ]
[ , [ @automatic_post = ] automatic_post ]
[ ; ]
Arguments
[ @job_id = ] 'job_id'
Numéro d'identification du travail à partir duquel supprimer la planification. @job_id est uniqueidentifier, avec la valeur par défaut NULL
.
Vous devez spécifier @job_id ou @job_name , mais les deux ne peuvent pas être spécifiées.
[ @job_name = ] N’job_name'
Nom du travail à partir duquel supprimer la planification. @job_name est sysname, avec la valeur par défaut NULL
.
Vous devez spécifier @job_id ou @job_name , mais les deux ne peuvent pas être spécifiées.
[ @schedule_id = ] schedule_id
Numéro d'identification de la planification à supprimer du travail. @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 du travail. @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.
[ @delete_unused_schedule = ] delete_unused_schedule
Spécifie si les planifications de travail inutilisées doivent être supprimées. @delete_unused_schedule est bit, avec une valeur par défaut , 0
ce qui signifie que toutes les planifications sont conservées, même si aucun travail ne les référence. Si la valeur est définie 1
, les planifications de travaux inutilisées sont supprimées si aucun travail ne les référence.
[ @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.
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 le laisserait 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.
SQL Server vérifie si l’utilisateur possède la planification. Seuls les membres du rôle serveur fixe sysadmin peuvent détacher les planifications des travaux appartenant à un autre utilisateur.
Exemples
L'exemple ci-dessous supprime l'association entre une planification NightlyJobs
et un travail BackupDatabase
.
USE msdb;
GO
EXEC dbo.sp_detach_schedule
@job_name = 'BackupDatabase',
@schedule_name = 'NightlyJobs';
GO