sp_attach_schedule (Transact-SQL)

Définit la planification d'un travail.

Icône Lien de rubriqueConventions de la syntaxe de 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. L'argument job_id est de type uniqueidentifier, avec NULL comme valeur par défaut.

  • [ @job_name =] 'job_name'
    Nom du travail auquel ajouter la planification. L'argument job_nameest de type sysname, avec NULL comme valeur par défaut.

    Notes

    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. L'argument 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. L'argument schedule_nameest de type sysname, avec NULL comme valeur par défaut.

    Notes

    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

Pour plus de détails 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.

Notes

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