sp_update_schedule (Transact-SQL)
Ändert die Einstellungen für einen SQL Server-Agent-Zeitplan.
Syntax
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 ]
Argumente
[ @schedule_id = ] schedule_id
Der Bezeichner des zu ändernden Zeitplans. schedule_id ist vom Datentyp int und hat keinen Standardwert. Es muss entweder schedule_id oder schedule_name angegeben werden.[ @name = ] 'schedule_name'
Der Name des zu ändernden Zeitplans. schedule_nameist vom Datentyp sysname und hat keinen Standardwert. Es muss entweder schedule_id oder schedule_name angegeben werden.[ @new_name= ] new_name
Der neue Name des Zeitplans. new_name ist vom Datentyp sysname und hat den Standardwert NULL. Wenn für new_name der Wert NULL angegeben ist, wird der Name des Zeitplans nicht geändert.[ @enabled = ] enabled
Gibt den aktuellen Status des Zeitplans an. enabled ist vom Datentyp tinyint und hat den Standardwert 1 (aktiviert). Mit 0 wird der Zeitplan deaktiviert. Wenn der Zeitplan nicht aktiviert ist, werden über diesen Zeitplan keine Aufträge ausgeführt.[ @freq_type = ] freq_type
Ein Wert, der angibt, wann der Auftrag ausgeführt werden soll. freq_typeist vom Datentyp int und hat den Standardwert 0. Die folgenden Werte sind möglich.Wert
Beschreibung
1
Einmal
4
Täglicher Zeitplan
8
Wöchentlicher Zeitplan
16
Monatlicher Zeitplan
32
Monatlich, relativ zu freq interval
64
Ausführen beim Start des SQLServerAgent-Diensts
128
Ausführen, wenn sich der Computer im Leerlauf befindet
@freq_interval = ] freq_interval
Die Tage, an denen der Auftrag ausgeführt wird. freq_interval ist vom Datentyp int, hat den Standardwert 0 und ist abhängig vom Wert für freq_type.Wert von freq_type
Auswirkungen auf freq_interval
1 (einmal)
freq_interval wird nicht verwendet.
4 (täglich)
Alle freq_interval Tage.
8 (wöchentlich)
Für freq_interval sind einer oder mehrere der folgenden Werte möglich (verknüpft mit dem logischen OR-Operator):
1 = Sonntag
2 = Montag
4 = Dienstag
8 = Mittwoch
16 = Donnerstag
32 = Freitag
64 = Samstag
16 (monatlich)
Am freq_interval Tag des Monats.
32 (mit relativem Monatsintervall)
freq_interval ist einer der folgenden Werte:
1 = Sonntag
2 = Montag
3 = Dienstag
4 = Mittwoch
5 = Donnerstag
6 = Freitag
7 = Samstag
8 = Tag
9 = Arbeitstag
10 = Wochenendtag
64 (beim Start des SQLServerAgent-Diensts)
freq_interval wird nicht verwendet.
128
freq_interval wird nicht verwendet.
[ @freq_subday_type = ] freq_subday_type
Gibt die Einheiten für freq_subday_intervalan. freq_subday_typeist vom Datentyp int und hat den Standardwert 0. Die folgenden Werte sind möglich.Wert
Beschreibung (Einheit)
0x1
Zum angegebenen Zeitpunkt
0x2
Sekunden
0x4
Minuten
0x8
Stunden
[ @freq_subday_interval = ] freq_subday_interval
Gibt die Anzahl der freq_subday_type-Perioden zwischen den Ausführungsinstanzen des Auftrags an. freq_subday_interval ist vom Datentyp int und hat den Standardwert 0.[ @freq_relative_interval = ] freq_relative_interval
Beschreibt das monatliche Vorkommen des geplanten Auftrags gemäß freq_interval, wenn für freq_interval der Wert 32 (monatlich, relativ) festgelegt ist. freq_relative_intervalist vom Datentyp int und hat den Standardwert 0. Die folgenden Werte sind möglich.Wert
Beschreibung (Einheit)
1
Erster
2
Zweiter
4
Dritter
8
Vierter
16
Letzter
[ @freq_recurrence_factor = ] freq_recurrence_factor
Die Anzahl der Wochen oder Monate zwischen den geplanten Ausführungen des Auftrags. freq_recurrence_factor wird nur verwendet, wenn freq_type auf 8, 16 oder 32 festgelegt ist. freq_recurrence_factor ist vom Datentyp int und hat den Standardwert 0.[ @active_start_date = ] active_start_date
Das Datum, an dem die Ausführung des Auftrags beginnt. active_start_dateist vom Datentyp int und hat den Standardwert NULL, womit das aktuelle Datum angegeben wird. Für das Datum wird das Format JJJJMMTT verwendet. Wenn active_start_date nicht NULL ist, muss das Datum größer oder gleich 19900101 sein.Überprüfen Sie nach dem Erstellen des Zeitplans, ob das Startdatum korrekt ist. Weitere Informationen finden Sie im Abschnitt "Planen von Startdaten" in Anlegen und Zuweisen von Zeitplänen zu Aufträgen.
[ @active_end_date = ] active_end_date
Das Datum, an dem die Ausführung des Auftrags endet. active_end_dateist vom Datentyp int und hat den Standardwert 99991231, womit der 31. Dezember 9999 angegeben wird. Im Format JJJJMMTT.[ @active_start_time = ] active_start_time
Der Zeitpunkt an einem beliebigen Tag zwischen active_start_date und active_end_date, zu dem die Ausführung des Auftrags begonnen werden soll. active_start_time ist vom Datentyp int und hat den Standardwert 000000, womit 00:00:00 Uhr im 24-Stunden-System angegeben wird. Der Wert muss im Format HHMMSS eingegeben werden.[ @active_end_time = ] active_end_time
Der Zeitpunkt an einem beliebigen Tag zwischen active_start_date und active_end_date, zu dem die Ausführung des Auftrags beendet werden soll. active_end_time ist vom Datentyp int und hat den Standardwert 235959, womit 23:59:59 Uhr im 24-Stunden-System angegeben wird. Der Wert muss im Format HHMMSS eingegeben werden.[ @owner_login_name= ] 'owner_login_name']
Der Name des Serverprinzipals, der den Zeitplan besitzt. owner_login_name ist vom Datentyp sysname und hat den Standardwert NULL, womit angegeben wird, dass der Ersteller auch Besitzer des Zeitplans ist.[ @automatic_post =] automatic_post
Reserviert.
Rückgabecodewerte
0 (Erfolg) oder 1 (Fehler)
Hinweise
Die neuen Einstellungen werden sofort von allen Aufträgen, die den Zeitplan verwenden, übernommen. Zurzeit ausgeführte Aufträge werden durch das Ändern eines Zeitplans jedoch nicht beendet.
Berechtigungen
In der Standardeinstellung können nur Mitglieder der festen Serverrolle sysadmin diese gespeicherte Prozedur ausführen. Anderen Benutzern muss eine der folgenden festen Datenbankrollen des SQL Server-Agents in der msdb-Datenbank zugewiesen werden:
SQLAgentUserRole
SQLAgentReaderRole
SQLAgentOperatorRole
Weitere Informationen zu den Berechtigungen dieser Rollen finden Sie unter Feste Datenbankrollen des SQL Server-Agents.
Nur Mitglieder der sysadmin-Rolle können einen Zeitplan ändern, der sich im Besitz eines anderen Benutzers befindet.
Beispiele
Im folgenden Beispiel wird der aktivierte Status des NightlyJobs-Zeitplans zu 0 und der Besitzer zu terrid geändert.
USE msdb ;
GO
EXEC dbo.sp_update_schedule
@name = 'NightlyJobs',
@enabled = 0,
@owner_login_name = 'terrid' ;
GO
Änderungsverlauf
Aktualisierter Inhalt |
---|
Nachdem ein Zeitplan erstellt wurde, enthält der Startdatumsparameter Informationen zur Bestätigung des Startdatums. |
Siehe auch