sp_add_jobschedule (Transact-SQL)
S’applique à : SQL Server Azure SQL Managed Instance
Crée une planification pour un travail SQL Server Agent.
Conventions de la syntaxe Transact-SQL
Important
Dans Azure SQL Managed Instance, la plupart, mais pas toutes les fonctionnalités SQL Server Agent sont actuellement prises en charge. Pour plus d’informations, consultez Différences T-SQL entre Azure SQL Managed Instance et SQL Server.
Syntaxe
sp_add_jobschedule
[ [ @job_id = ] 'job_id' ]
[ , [ @job_name = ] N'job_name' ]
, [ @name = ] N'name'
[ , [ @enabled = ] enabled ]
[ , [ @freq_type = ] freq_type ]
[ , [ @freq_interval = ] freq_interval ]
[ , [ @freq_subday_type = ] freq_subday_type ]
[ , [ @freq_subday_interval = ] freq_subday_interval ]
[ , [ @freq_relative_interval = ] freq_relative_interval ]
[ , [ @freq_recurrence_factor = ] freq_recurrence_factor ]
[ , [ @active_start_date = ] active_start_date ]
[ , [ @active_end_date = ] active_end_date ]
[ , [ @active_start_time = ] active_start_time ]
[ , [ @active_end_time = ] active_end_time ]
[ , [ @schedule_id = ] schedule_id OUTPUT ]
[ , [ @automatic_post = ] automatic_post ]
[ , [ @schedule_uid = ] 'schedule_uid' OUTPUT ]
[ ; ]
Arguments
[ @job_id = ] 'job_id'
Numéro d'identification du travail auquel ajouter 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 auquel ajouter 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.
[ @name = ] N’name'
Nom de la planification. @name est sysname, sans valeur par défaut.
[ @enabled = ] activé
Indique l'état actuel de la planification. @enabled est tinyint, avec une valeur par défaut (1
activée). Si 0
la planification n’est pas activée. Lorsque la planification est désactivée, le travail n’est pas exécuté.
[ @freq_type = ] freq_type
Valeur qui indique à quel moment le travail doit s'exécuter. @freq_type est int et peut être l’une des valeurs suivantes :
Valeur | Description |
---|---|
1 |
Une fois |
4 |
Quotidiennement |
8 |
Hebdomadaire |
16 |
Mensuelle |
32 |
Mensuel, par rapport à @freq_interval. |
64 |
Exécutez le démarrage du service SQL Server Agent. |
128 |
Lancer lorsque l'ordinateur est inactif. |
[ @freq_interval = ] freq_interval
Jour d'exécution du travail. @freq_interval est int, avec une valeur par défaut 0
, et dépend de la valeur de @freq_type, comme indiqué dans le tableau suivant :
Valeur de @freq_type | Effet sur @freq_interval |
---|---|
1 (une fois) |
@freq_interval n’est pas utilisé. |
4 (quotidien) |
Tous les @freq_interval jours. |
8 (hebdomadaire) |
@freq_interval est un ou plusieurs des éléments suivants (combinés à un OR opérateur logique) :1 = Dimanche2 = Lundi4 = Mardi8 = Mercredi16 = jeudi32 = vendredi64 = Samedi |
16 (mensuel) |
Le @freq_interval jour du mois. |
32 (relatif mensuel) |
@freq_interval est l’un des éléments suivants :1 = Dimanche2 = Lundi3 = Mardi4 = Mercredi5 = jeudi6 = vendredi7 = Samedi8 = Jour9 = Jour de la semaine10 = Jour du week-end |
64 (au démarrage du service SQL Server Agent) |
@freq_interval n’est pas utilisé. |
128 |
@freq_interval n’est pas utilisé. |
[ @freq_subday_type = ] freq_subday_type
Spécifie les unités de @freq_subday_interval. @freq_subday_type est int et peut être l’une des valeurs suivantes :
Valeur | Description (unité) |
---|---|
0x1 |
À une heure spécifiée |
0x2 |
Secondes |
0x4 |
Minutes |
0x8 |
heures |
[ @freq_subday_interval = ] freq_subday_interval
Nombre de périodes @freq_subday_type à effectuer entre chaque exécution du travail. @freq_subday_interval est int, avec la valeur par défaut 0
.
[ @freq_relative_interval = ] freq_relative_interval
Définit également la @freq_interval lorsque @freq_type est défini 32
sur (relatif mensuel).
@freq_relative_interval est int et peut être l’une des valeurs suivantes :
Valeur | Description (unité) |
---|---|
1 |
First |
2 |
Second |
4 |
Third |
8 |
Quatrième |
16 |
Dernière |
@freq_relative_interval indique l’occurrence de l’intervalle. Par exemple, si @freq_relative_interval est défini 2
sur , @freq_type est défini 32
sur , et @freq_interval est défini 3
sur , le travail planifié se produit le deuxième mardi de chaque mois.
[ @freq_recurrence_factor = ] freq_recurrence_factor
Nombre de semaines ou de mois devant s'écouler entre chaque exécution planifiée du travail. @freq_recurrence_factor est int, avec la valeur par défaut 0
. @freq_recurrence_factor est utilisé uniquement si @freq_type a la valeur 8
, 16
ou 32
.
[ @active_start_date = ] active_start_date
Date à laquelle l’exécution du travail peut commencer. @active_start_date est int, avec une valeur par défaut de NULL
. La date est mise en forme en tant que yyyyMMdd
. Si @active_start_date est définie, la date doit être supérieure ou égale à 19900101
.
Une fois la planification créée, passez en revue la date de début et vérifiez qu’il s’agit de la date correcte. Pour plus d’informations, consultez la section « Date de début de la planification » dans Créer et attacher des planifications à des travaux.
[ @active_end_date = ] active_end_date
Date à laquelle l’exécution du travail peut s’arrêter. @active_end_date est int, avec une valeur par défaut de 99991231
. La date est mise en forme en tant que yyyyMMdd
.
[ @active_start_time = ] active_start_time
Heure de tous les jours entre @active_start_date et @active_end_date pour commencer l’exécution du travail. @active_start_time est int, avec la valeur par défaut 000000
. L’heure est mise en forme sur HHmmss
une horloge de 24 heures.
[ @active_end_time = ] active_end_time
Heure de tous les jours entre active_start_date et @active_end_date pour mettre fin à l’exécution du travail. @active_end_time est int, avec la valeur par défaut 235959
. L’heure est mise en forme sur HHmmss
une horloge de 24 heures.
[ @schedule_id = ] sortie de schedule_id
Numéro d’identification de planification affecté à la planification s’il est créé avec succès. @schedule_id est un paramètre OUTPUT de type int.
[ @automatic_post = ] automatic_post
Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie.
[ @schedule_uid = ] SORTIE 'schedule_uid'
Identificateur unique de la planification. @schedule_uid est un paramètre OUTPUT de type uniqueidentifier.
Valeurs des codes de retour
0
(réussite) ou 1
(échec).
Jeu de résultats
Aucune.
Notes
Il est désormais possible de gérer la planification des travaux indépendamment des travaux. Pour ajouter une planification à un travail, utilisez sp_add_schedule
cette option pour créer la planification et sp_attach_schedule
attacher la planification à un travail.
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
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.
Exemples
L’exemple suivant affecte une planification de travail à SaturdayReports
, qui s’exécute tous les samedis à 2h00.
EXEC msdb.dbo.sp_add_jobschedule
@job_name = N'SaturdayReports', -- Job name
@name = N'Weekly_Sat_2AM', -- Schedule name
@freq_type = 8, -- Weekly
@freq_interval = 64, -- Saturday
@freq_recurrence_factor = 1, -- every week
@active_start_time = 20000 -- 2:00 AM
Contenu connexe
- Créer des planifications et les attacher à des travaux
- Planifier un travail
- Créer une planification
- Procédures stockées sql Server Agent (Transact-SQL)
- sp_add_schedule (Transact-SQL)
- sp_update_schedule (Transact-SQL)
- sp_delete_schedule (Transact-SQL)
- sp_help_schedule (Transact-SQL)
- sp_attach_schedule (Transact-SQL)