sp_add_schedule (Transact-SQL)
Aktualisiert: 17. November 2008
Erstellt einen Zeitplan, der von einer beliebigen Anzahl von Aufträgen verwendet werden kann.
Syntax
sp_add_schedule [ @schedule_name = ] 'schedule_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' ]
[ , [ @schedule_uid = ] schedule_uid OUTPUT ]
[ , [ @schedule_id = ] schedule_id OUTPUT ]
[ , [ @originating_server = ] server_name ] /* internal */
Argumente
- [ @schedule_name = ] 'schedule_name'
Der Name des Zeitplans. schedule_name ist vom Datentyp sysname; es gibt keinen Standardwert.
- [ @enabled = ] enabled
Gibt den aktuellen Status des Zeitplanes an. enabled ist vom Datentyp tinyint und weist den Standardwert 1 (aktiviert) auf. 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_typehat den Datentyp int und den Standardwert 0. Die folgenden Werte sind möglich.Wert Beschreibung 1
Einmal
4
Täglich
8
Wöchentlich
16
Monatlich
32
Monatlich, relativ zum Wert von freq_interval
64
Ausführen beim Start des SQLServerAgent-Dienstes
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 hat den Datentyp int, den Standardwert 1 und ist abhängig vom Wert für freq_type.Wert von freq_type Auswirkung 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 (mit dem logischen OR-Operator verknüpft):
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 entspricht einem der folgenden Werte:
1 = Sonntag
2 = Montag
3 = Dienstag
4 = Mittwoch
5 = Donnerstag
6 = Freitag
7 = Samstag
8 = Tag
9 = Wochentag
10 = Wochenendtag
64 (beim Start des SQLServerAgent-Dienstes)
freq_interval wird nicht verwendet.
128
freq_interval wird nicht verwendet.
[ @freq_subday_type = ] freq_subday_type
Gibt die Einheiten für freq_subday_interval an. freq_subday_typeist vom Datentyp int und hat den Standardwert 0. Die folgenden Werte sind möglich.Wert Beschreibung (Einheit) 0x1
Zum angegebenen Zeitpunkt
0x4
Minuten
0x8
Stunden
- [ @freq_subday_interval = ] freq_subday_interval
Die Anzahl der freq_subday_type-Zeiträume, die zwischen den einzelnen Ausführungen eines Auftrags auftreten. freq_subday_interval entspricht int mit dem Standardwert 0. freq_subday_interval wird in den Fällen ignoriert, in denen freq_subday_type gleich 1 ist.
[ @freq_relative_interval = ] freq_relative_interval
Beschreibt das monatliche Vorkommen des geplanten Auftrags gemäß freq_type, wenn für freq_interval der Wert 32 festgelegt ist (monatlich, relativ). freq_relative_intervalist vom Datentyp int; der Standardwert lautet 0; dabei sind folgende Werte möglich. freq_relative_interval wird in den Fällen ignoriert, in denen freq_type ungleich 32 ist.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_factorist 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 gemeint ist. Für das Datum wird das Format YYYYMMDD verwendet. Wenn active_start_date nicht NULL ist, muss das Datum größer als oder gleich 19900101 sein. Überprüfen Sie nach dem Erstellen des Zeitplans das Startdatum, und stellen Sie sicher, dass es sich um das gewünschte Datum handelt. Weitere Informationen finden Sie im Abschnitt "Planen von Startdaten" unter Erstellen von Zeitplänen.
- [ @active_end_date = ] active_end_date
Das Datum, an dem die Ausführung des Auftrags beendet wird. active_end_dateist vom Datentyp int und hat den Standardwert 99991231, womit der 31. Dezember 9999 angegeben wird. Für das Datum wird das Format JJJJMMTT verwendet.
- [ @active_start_time = ] active_start_time
Der Zeitpunkt an einem beliebigen Tag zwischen active_start_date und active_end_date, zu dem der Auftrag ausgeführt werden soll. active_start_timeist vom Datentyp int und hat den Standardwert 000000, womit 00:00:00 Uhr des 24-Stunden-Systems gemeint ist. 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 der Auftrag ausgeführt werden soll. active_end_timeist vom Datentyp int und hat den Standardwert 235959, womit 23:59:59 Uhr des 24-Stunden-Systems gemeint ist. 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; der Standardwert ist NULL, womit angegeben wird, dass der Ersteller auch Besitzer des Zeitplanes ist.
- [ @schedule_uid= ] schedule_uidOUTPUT
Ein eindeutiger Bezeichner für den Zeitplan. schedule_uid ist eine Variable vom Typ uniqueidentifier.
- [ @schedule_id= ] schedule_idOUTPUT
Ein Bezeichner für den Zeitplan. schedule_id ist eine Variable vom Typ int.
- [ @originating_server= ] server_name
Nur für Informationszwecke identifiziert. Nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
Rückgabecodewerte
0 (Erfolg) oder 1 (Fehler)
Resultsets
Keine
Hinweise
Mit SQL Server Management Studio können Aufträge problemlos mithilfe einer grafischen Oberfläche verwaltet werden. Dies ist die empfohlene Vorgehensweise für die Erstellung und Verwaltung der Auftragsinfrastruktur.
Berechtigungen
Standardmäßig können nur Mitglieder der festen Serverrolle sysadmin diese gespeicherte Prozedur ausführen. Andere Benutzer müssen Mitglieder der festen SQL Server-Agent-Datenbankrollen in der msdb-Datenbank sein:
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Weitere Informationen zu den Berechtigungen dieser Rollen finden Sie unter Feste Datenbankrollen des SQL Server-Agents.
Beispiele
A. Anlegen eines Zeitplanes
Im folgenden Beispiel wird ein Zeitplan mit dem Namen RunOnce
angelegt. Der Zeitplan wird ein Mal um 23:30 Uhr an dem Tag ausgeführt, an dem der Zeitplan erstellt wird.
USE msdb ;
GO
EXEC dbo.sp_add_schedule
@schedule_name = N'RunOnce',
@freq_type = 1,
@active_start_time = 233000 ;
GO
B. Anlegen eines Zeitplanes und Zuweisen des Zeitplanes zu mehreren Aufträgen
Im folgenden Beispiel wird ein Zeitplan mit dem Namen NightlyJobs
erstellt. Aufträge, die diesen Zeitplan verwenden, werden jeden Tag zur Serveruhrzeit 01:00 Uhr ausgeführt. Im Beispiel wird der Zeitplan den Aufträgen BackupDatabase
und RunReports
angefügt.
Hinweis: |
---|
In diesem Beispiel wird davon ausgegangen, dass die Aufträge BackupDatabase und RunReports bereits vorhanden sind. |
USE msdb ;
GO
EXEC sp_add_schedule
@schedule_name = N'NightlyJobs' ,
@freq_type = 4,
@freq_interval = 1,
@active_start_time = 010000 ;
GO
EXEC sp_attach_schedule
@job_name = N'BackupDatabase',
@schedule_name = N'NightlyJobs' ;
GO
EXEC sp_attach_schedule
@job_name = N'RunReports',
@schedule_name = N'NightlyJobs' ;
GO
Siehe auch
Verweis
sp_attach_schedule (Transact-SQL)
sp_detach_schedule (Transact-SQL)
sp_delete_schedule (Transact-SQL)
Hilfe und Informationen
Informationsquellen für SQL Server 2005
Änderungsverlauf
Version | Verlauf |
---|---|
17. November 2008 |
|
12. Dezember 2006 |
|
17. Juli 2006 |
|
14. April 2006 |
|