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 a la valeur 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 (1activée). Si 0la 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 = Dimanche
2 = Lundi
4 = Mardi
8 = Mercredi
16 = jeudi
32 = vendredi
64 = Samedi
16 (mensuel) Le @freq_interval jour du mois.
32 (relatif mensuel) @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 (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 Dernier

@freq_relative_interval indique l’occurrence de l’intervalle. Par exemple, si @freq_relative_interval est défini 2sur , @freq_type est défini 32sur , et @freq_interval est défini 3sur , 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, 16ou 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 , NULLqui 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) ou 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