sp_attach_schedule (Transact-SQL)
S'applique à : SQL Server
Définit la planification d'un travail.
Conventions de la syntaxe Transact-SQL
Syntaxe
sp_attach_schedule
[ [ @job_id = ] 'job_id' ]
[ , [ @job_name = ] N'job_name' ]
[ , [ @schedule_id = ] schedule_id ]
[ , [ @schedule_name = ] N'schedule_name' ]
[ , [ @automatic_post = ] automatic_post ]
[ ; ]
Arguments
[ @job_id = ] 'job_id'
Numéro d’identification du travail auquel la planification est ajoutée. @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 auquel la planification est ajoutée. @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 à définir pour le 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 à définir pour le 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.
[ @automatic_post = ] automatic_post
@automatic_post est bit, avec la valeur par défaut 1
.
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 exécutée à partir de la msdb
base de données.
autorisations
Cette procédure stockée appartient au rôle db_owner . Vous pouvez accorder EXECUTE
des autorisations pour n’importe quel utilisateur, 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.
SQL Server vérifie si l’utilisateur possède à la fois le travail et la planification.
Exemples
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