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)
Commentaires
https://aka.ms/ContentUserFeedback.
Prochainement : Tout au long de l'année 2024, nous supprimerons progressivement les GitHub Issues en tant que mécanisme de retour d'information pour le contenu et nous les remplacerons par un nouveau système de retour d'information. Pour plus d’informations, voir:Soumettre et afficher des commentaires pour