sp_attach_schedule (Transact-SQL)

Définit la planification d'un travail.

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

Syntaxe

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

Arguments

  • [ @job_id= ] job_id
    Numéro d'identification du travail auquel ajouter la planification. job_idest de type uniqueidentifier, avec NULL comme valeur par défaut.

  • [ @job_name = ] 'job_name'
    Nom du travail auquel ajouter la planification. job_nameest 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 à définir pour le travail. schedule_idest de type int, avec NULL comme valeur par défaut.

  • [ @schedule_name = ] 'schedule_name'
    Nom de la planification à définir pour le travail. schedule_nameest 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.

Notes

La planification et le travail doivent avoir le même propriétaire.

Une planification peut être définie pour plusieurs travaux. Un travail peut être exécuté dans plusieurs planifications.

Cette procédure stockée doit être utilisée à partir de la base de données msdb.

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 vérifie si l'utilisateur détient à la fois le travail et la planification.

Exemple

L'exemple suivant crée une planification nommée NightlyJobs. Les travaux qui utilisent cette planification s'exécutent tous les jours lorsque l'heure indiquée par le serveur est 01:00. L'exemple joint la planification au travail BackupDatabase et au travail RunReports.

[!REMARQUE]

Cet exemple suppose que les travaux BackupDatabase et RunReports existent déjà.

USE msdb ;
GO

EXEC sp_add_schedule
    @schedule_name = N'NightlyJobs' ,
    @freq_type = 4,
    @freq_interval = 1,
    @active_start_time = 010000 ;
GO


EXEC sp_attach_schedule
   @job_name = N'BackupDatabase',
   @schedule_name = N'NightlyJobs' ;
GO

EXEC sp_attach_schedule
   @job_name = N'RunReports',
   @schedule_name = N'NightlyJobs' ;
GO

Voir aussi

Référence

sp_add_schedule (Transact-SQL)

sp_detach_schedule (Transact-SQL)

sp_delete_schedule (Transact-SQL)