sp_update_schedule (Transact-SQL)
S'applique à : SQL Server
Modifie les paramètres d’une planification SQL Server Agent.
Conventions de la syntaxe Transact-SQL
Syntaxe
sp_update_schedule
[ [ @schedule_id = ] schedule_id ]
[ , [ @name = ] N'name' ]
[ , [ @new_name = ] N'new_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 ]
[ , [ @owner_login_name = ] N'owner_login_name' ]
[ , [ @automatic_post = ] automatic_post ]
[ ; ]
Arguments
[ @schedule_id = ] schedule_id
Identificateur de la planification à modifier. @schedule_id est int, avec la valeur par défaut NULL
.
Vous devez spécifier @schedule_id ou @name .
[ @name = ] N’name'
Nom de la planification à modifier. @name est sysname, avec la valeur par défaut NULL
.
Vous devez spécifier @schedule_id ou @name .
[ @new_name = ] N’new_name'
Nouveau nom de la planification. @new_name est sysname, avec la valeur par défaut NULL
. Lorsque @new_name est NULL
, le nom de la planification n’est pas modifié.
[ @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 n’est pas activée, aucun travail ne s’exécute sur cette planification.
[ @freq_type = ] freq_type
Valeur indiquant à quel moment un travail doit être exécuté. @freq_type est int et peut être l’une de ces valeurs.
Valeur | Description |
---|---|
1 |
Une fois |
4 |
Quotidiennement |
8 |
Hebdomadaire |
16 |
Mensuelle |
32 |
Mensuel, par rapport à @freq_interval |
64 |
Exécuter quand le service SQL Server Agent démarre |
128 |
Exécution pendant une période d'inactivité de l'ordinateur. |
[ @freq_interval = ] freq_interval
Jours d’exécution d’un 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 de ces valeurs.
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 d’un 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 de ces valeurs.
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 d'un 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.
[ @owner_login_name = ] N’owner_login_name'
Nom du principal de serveur qui détient la planification. @owner_login_name est sysname, avec une valeur par défaut , NULL
qui indique que la planification est détenue par le créateur.
[ @automatic_post = ] automatic_post
Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie.
Valeurs des codes de retour
0
(réussite) or 1
(échec).
Notes
Tous les travaux qui utilisent la planification utilisent immédiatement les nouveaux paramètres. Toutefois, la modification d’une planification n’arrête pas les travaux en cours d’exécution.
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.
Seuls les membres de sysadmin peuvent modifier une planification appartenant à un autre utilisateur.
Exemples
L'exemple suivant montre comment changer l'état activé de la planification NightlyJobs
en 0
et comment définir le propriétaire à terrid
.
USE msdb;
GO
EXEC dbo.sp_update_schedule
@name = 'NightlyJobs',
@enabled = 0,
@owner_login_name = 'terrid';
GO
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_add_jobschedule (Transact-SQL)
- sp_delete_schedule (Transact-SQL)
- sp_help_schedule (Transact-SQL)
- sp_attach_schedule (Transact-SQL)