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 = ] 'schedule_name' }  
    [ , [ @new_name = ] 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 = ] 'owner_login_name' ]  
    [ , [ @automatic_post =] automatic_post ]  

Arguments

[ @schedule_id = ] schedule_id Identificateur de la planification à modifier. schedule_id est int, sans valeur par défaut. Vous devez spécifier schedule_id ou schedule_name .

[ @name = ] 'schedule_name' Nom de la planification à modifier. schedule_name est sysname, sans valeur par défaut. Vous devez spécifier schedule_id ou schedule_name .

[ @new_name = ] new_name Nouveau nom de la planification. new_name est sysname, avec la valeur null par défaut. Lorsque new_name a la valeur NULL, le nom de la planification est inchangé.

[ @enabled = ] enabled Indique l’état actuel de la planification. enabled est tinyint, avec une valeur par défaut de 1 (activé). Si la valeur est 0, la planification n’est pas activée. Si la planification n'est pas activée, aucun travail n'est exécuté dans cette dernière.

[ @freq_type = ] freq_type Valeur indiquant quand un travail doit être exécuté. freq_type est int, avec une valeur par défaut de 0, et peut être l’une de ces valeurs.

Valeur Description
1 Une fois
4 Quotidien
8 Chaque semaine
16 Mensuelle
32 Mensuel, par rapport à l’intervalle freq
64 Lancé au démarrage du service SQLServerAgent
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 de 0, et dépend de la valeur de freq_type.

Valeur de freq_type Effet sur freq_interval
1 (une fois) freq_interval n’est pas utilisé.
4 (par jour) Tous les freq_interval jours.
8 (hebdomadaire) freq_interval est un ou plusieurs des éléments suivants (combinés à un opérateur logique OR ) :

1 = Dimanche

2 = Lundi

4 = Mardi

8 = Mercredi

16 = jeudi

32 = vendredi

64 = samedi
16 (mensuel) Le freq_interval jour du mois.
32 (mensuel relatif) freq_interval est l’un des éléments suivants :

1 = Dimanche

2 = Lundi

3 = Mardi

4 = Mercredi

5 = jeudi

6 = vendredi

7 = samedi

8 = Jour

9 = Jour de la semaine

10 = Jour du week-end
64 (quand le service SQLServerAgent démarre) freq_interval n’est pas utilisé.
128 freq_interval n’est pas utilisé.

[ @freq_subday_type = ] freq_subday_type Spécifie les unités pour freq_subday_interval*.* freq_subday_typeest int, avec la valeur par défaut 0, 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 freq_subday_type périodes à effectuer entre chaque exécution d’un travail. freq_subday_intervalest int, avec la valeur par défaut 0.

[ @freq_relative_interval = ] freq_relative_interval L’occurrence d’un travail de freq_interval chaque mois, si freq_interval est de 32 (relative mensuelle). freq_relative_intervalest int, avec une valeur par défaut de 0, et peut être l’une de ces valeurs.

Valeur Description (unité)
1 First
2 Second
4 Third
8 Quatrième
16 Dernier

[ @freq_recurrence_factor = ] freq_recurrence_factor Nombre de semaines ou de mois entre l’exécution planifiée d’un travail. freq_recurrence_factor est utilisé uniquement si freq_type est 8, 16 ou 32. freq_recurrence_factorest int, avec la valeur par défaut 0.

[ @active_start_date = ] active_start_date Date à laquelle l’exécution d’un travail peut commencer. active_start_dateest int, avec la valeur par défaut NULL, qui indique la date du jour. La date est au format AAAAMMJJ. Si active_start_date n’est pas NULL, la date doit être supérieure ou égale à 19900101.

Après avoir créé la planification, examinez la date de début et assurez-vous qu'elle est 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 d’un travail peut s’arrêter. active_end_dateest int, avec la valeur par défaut 99991231, qui indique le 31 décembre 9999. La mise en forme est la suivante : AAAAMMJJ.

[ @active_start_time = ] active_start_time Heure de n’importe quel jour entre active_start_date et active_end_date pour commencer l’exécution d’un travail. active_start_timeest int, avec une valeur par défaut de 000000, qui indique 12:00:00 sur une horloge de 24 heures, et doit être entré au format HHMMSS.

[ @active_end_time = ] active_end_time Le temps de n’importe quel jour entre active_start_date et active_end_date pour mettre fin à l’exécution d’un travail. active_end_timeest int, avec la valeur par défaut 235959, qui indique 23:59:59 sur une horloge de 24 heures, et doit être entré au format HHMMSS.

[ @owner_login_name = ] 'owner_login_name'] Nom du principal de serveur propriétaire de la planification. owner_login_name est sysname, avec la valeur par défaut NULL, ce qui indique que la planification appartient au créateur.

[ @automatic_post = ] automatic_post Réservés au.

Codet de retour

0 (réussite) ou 1 (échec)

Remarques

Tous les travaux qui utilisent la planification utilisent immédiatement les nouveaux paramètres. Cependant, la modification d'une planification n'entraîne pas l'arrêt des travaux en cours d'exécution.

Autorisations

Par défaut, les membres du rôle 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 suivants de SQL Server Agent dans la base de données msdb :

  • 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  

Voir aussi

Créer des planifications et les attacher à des travaux
Planifier un travail
Créer une planification
Procédures stockées de l'Agent SQL Server (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)