Partager via


sp_update_schedule (Transact-SQL)

Modifie les paramètres d'une planification de l'Agent SQL Server.

Icône Lien de rubriqueConventions 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 de type int, et n'a pas de valeur par défaut. schedule_id ou schedule_name doit être spécifié.

  • [ @name = ] 'schedule_name'
    Nom de la planification à modifier. schedule_nameest de type sysname et n'a pas de valeur par défaut. schedule_id ou schedule_name doit être spécifié.

  • [ @new_name= ] new_name
    Nouveau nom de la planification. L'argument new_name est de type sysname, avec NULL comme valeur par défaut. Si new_name a la valeur NULL, le nom de la planification reste inchangé.

  • [ @enabled = ] enabled
    Indique l'état actuel de la planification. L'argument enabled est de type tinyint, avec 1 comme valeur par défaut (activé). Si la valeur 0 est affectée à l'argument, 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 à quel moment le travail doit s'exécuter. L'argument freq_typeest de type int, avec 0 comme valeur par défaut. Il peut prendre l'une des valeurs suivantes.

    Valeur

    Description

    1

    Une fois

    4

    Quotidienne

    8

    Hebdomadaire

    16

    Mensuelle

    32

    Mensuellement, en fonction de freq interval

    64

    Lancé au démarrage du service SQLServerAgent

    128

    Lancé lorsque l'ordinateur est inactif

  • [ @freq_interval = ] freq_interval
    Jours d'exécution du travail. freq_interval est de type int, avec 0 comme valeur par défaut, et varie en fonction de la valeur de freq_type.

    Valeur de freq_type

    Effet sur freq_interval

    1 (une fois)

    freq_interval n'est pas utilisé.

    4 (quotidiennement)

    Tous les freq_interval jours.

    8 (hebdomadairement)

    freq_interval représente une ou plusieurs des valeurs suivantes (combinées avec un opérateur logique OR) :

    1 = Dimanche

    2 = Lundi

    4 = Mardi

    8 = Mercredi

    16 = Jeudi

    32 = Vendredi

    64 = Samedi

    16 (mensuellement)

    Le jour défini par l'argument freq_interval.

    32 (mensuel relatif)

    freq_interval prend l'une des valeurs suivantes :

    1 = Dimanche

    2 = Lundi

    3 = Mardi

    4 = Mercredi

    5 = Jeudi

    6 = Vendredi

    7 = Samedi

    8 = Jour

    9 = Jour de semaine

    10 = Jour de week-end

    64 (au démarrage du service SQLServerAgent)

    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 de type int, avec une valeur par défaut de 0, et peut prendre 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 en freq_subday_type entre chaque exécution d'un travail. freq_subday_intervalest de type int, avec 0 comme valeur par défaut.

  • [ @freq_relative_interval = ] freq_relative_interval
    Nombre d'occurrences mensuelles du travail, spécifié par freq_interval, si freq_interval a la valeur 32 (mensuel relatif). L'argument freq_relative_intervalest de type int, avec 0 comme valeur par défaut, et peut prendre l'une des valeurs suivantes :

    Valeur

    Description (unité)

    1

    First

    2

    Seconde

    4

    Troisième

    8

    Quatrième

    16

    Last

  • [ @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 utilisé uniquement si freq_type a la valeur 8, 16 ou 32. freq_recurrence_factorest de type int, avec 0 comme valeur par défaut.

  • [ @active_start_date = ] active_start_date
    Date à laquelle l'exécution du travail peut débuter. L'argument active_start_dateest de type int, avec NULL comme valeur par défaut. Cette valeur indique la date du jour. La date a le format AAAAMMJJ. Si la valeur affectée à l'argument 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 relative à la planification de la date de début dans Création et attachement de planifications à des travaux.

  • [ @active_end_date = ] active_end_date
    Date à laquelle l'exécution du travail peut s'arrêter. L'argument active_end_dateest de type int, avec 99991231 comme valeur par défaut. Cette valeur indique la date du 31 décembre 9999. La mise en forme est la suivante : AAAAMMJJ.

  • [ @active_start_time = ] active_start_time
    Heure de la journée, comprise entre les valeurs affectées aux arguments active_start_date et active_end_date, à laquelle l'exécution du travail doit débuter. L'argument active_start_timeest de type int, avec la valeur 000000 par défaut. Cette valeur indique 12 heures (midi) sur une horloge de 24 heures et doit être au format HHMMSS.

  • [ @active_end_time = ] active_end_time
    Heure de la journée, comprise entre les valeurs affectées aux arguments active_start_date et active_end_date, à laquelle l'exécution du travail doit se terminer. L'argument active_end_timeest de type int, avec 235959 comme valeur par défaut. Cette valeur indique 23 heures 59 minutes et 59 secondes et doit être au format HHMMSS.

  • [ @owner_login_name= ] 'owner_login_name']
    Nom du serveur principal qui détient la planification. owner_login_name est de type sysname, avec la valeur par défaut NULL qui indique que la planification est détenue par le créateur.

  • [ @automatic_post =] automatic_post
    Réservé.

Valeurs des codes de retour

0 (succès) ou 1 (échec)

Notes

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

Seuls les membres du rôle de 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 SQL Server Agent suivants 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 détenue par 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