sp_detach_schedule (Transact-SQL)

Supprime l'association entre une planification et un travail.

Icône Lien de rubrique Conventions de la syntaxe Transact-SQL

Syntaxe

sp_detach_schedule 
     { [ @job_id = ] job_id | [ @job_name = ] 'job_name' } ,
       { [ @schedule_id = ] schedule_id | [ @schedule_name = ] 'schedule_name' } ,
     [ @delete_unused_schedule = ] delete_unused_schedule 

Arguments

  • [ @job_id= ] job_id
    Numéro d'identification du travail à partir duquel supprimer la planification. job_id est de type uniqueidentifier, avec NULL comme valeur par défaut.

  • [ @job_name= ] 'job_name'
    Nom du travail à partir duquel supprimer la planification. job_name est de type sysname, avec NULL comme valeur par défaut.

    [!REMARQUE]

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

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

  • [ @schedule_name= ] 'schedule_name'
    Nom de la planification à supprimer du travail. 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.

  • [ @delete_unused_schedule= ] delete_unused_schedule
    Spécifie si les planifications de travail inutilisées doivent être supprimées. delete_unused_schedule est de type bit, avec 0 comme valeur par défaut, ce qui signifie que toutes les planifications sont conservées même si aucun travail n'y fait référence. Si l'argument a la valeur 1, les planifications de travail inutilisées sont supprimées si aucun travail n'y fait référence.

Valeurs des codes de retour

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

Jeux de résultats

Aucun

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.

SQL Server effectue une vérification pour déterminer si l'utilisateur est propriétaire de la planification. Seuls les membres du rôle de serveur fixe sysadmin sont habilités à dissocier les planifications des travaux dont un autre utilisateur est propriétaire.

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

Voir aussi

Référence

sp_add_schedule (Transact-SQL)

sp_attach_schedule (Transact-SQL)

sp_delete_schedule (Transact-SQL)