sp_add_jobschedule (Transact-SQL)

 

DIESES THEMA GILT FÜR:jaSQL Server (ab 2008)neinAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data Warehouse

Erstellt einen Zeitplan für einen Auftrag.

Topic link icon Transact-SQL-Syntaxkonventionen

  
sp_add_jobschedule [ @job_id = ] job_id, | [ @job_name = ] 'job_name', [ @name = ] 'name'  
     [ , [ @enabled = ] enabled_flag ]  
     [ , [ @freq_type = ] frequency_type ]  
     [ , [ @freq_interval = ] frequency_interval ]  
     [ , [ @freq_subday_type = ] frequency_subday_type ]  
     [ , [ @freq_subday_interval = ] frequency_subday_interval ]  
     [ , [ @freq_relative_interval = ] frequency_relative_interval ]  
     [ , [ @freq_recurrence_factor = ] frequency_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 ]  
     [ , [ @schedule_id = ] schedule_id OUTPUT ]  

[ @job_id= ] job_id
Die ID des Auftrags, dem der Zeitplan hinzugefügt wird. Job_id ist "uniqueidentifier", hat keinen Standardwert.

[ @job_name= ] 'job_name'
Der Name des Auftrags, dem der Zeitplan hinzugefügt wird. Job_name ist nvarchar(128), hat keinen Standardwert.

System_CAPS_ICON_note.jpg Hinweis


Entweder Job_id oder Job_name muss angegeben werden, aber beide können nicht angegeben werden.

[ @name= ] 'name'
Name des Zeitplans. Namen ist nvarchar(128), hat keinen Standardwert.

[ @enabled= ] Enabled_flag
Gibt den aktuellen Status des Zeitplans an. Enabled_flag ist "tinyint", hat den Standardwert 1 (aktiviert). Wenn 0, der Zeitplan ist nicht aktiviert. Wenn der Zeitplan deaktiviert ist, wird der Auftrag nicht ausgeführt.

[ @freq_type= ] Frequency_type
Ein Wert, der angibt, wann der Auftrag ausgeführt werden soll. Frequency_type ist Int, hat den Standardwert 0, und kann einen der folgenden Werte:

WertDescription
1Einmal
4Täglich
8Wöchentlicher Zeitplan
16Monatlicher Zeitplan
32Monatlich, relativ zum Frequency_interval.
64Ausführen, wenn der SQL Server-Agent-Dienst gestartet wird.
128Ausführen, wenn sich der Computer im Leerlauf befindet.

[ @freq_interval= ] Frequency_interval
Der Tag, an dem der Auftrag ausgeführt wird. Frequency_interval ist Int, hat den Standardwert 0 (null) und hängt vom Wert der Frequency_type wie in der folgenden Tabelle aufgeführt:

WertWirkung
1 (einmal)Frequency_interval wird nicht verwendet.
4 (täglich)Jede Frequency_interval Tage.
8 (wöchentlich)Frequency_interval kann einen oder mehrere der folgenden (zusammen mit einer logischen OR-Operator):

1 = Sonntag

2 = Montag

4 = Dienstag

8 = Mittwoch

16 = Donnerstag

32 = Freitag

64 = Samstag
16 (monatlich)Auf der Frequency_interval Tag des Monats.
32 (mit relativem Monatsintervall)Frequency_interval ist eines der folgenden:

1 = Sonntag

2 = Montag

3 = Dienstag

4 = Mittwoch

5 = Donnerstag

6 = Freitag

7 = Samstag

8 = Tag

9 = Arbeitstag

10 = Wochenendtag
64 (wenn die SQL Server -Agent-Dienst gestartet wird)Frequency_interval wird nicht verwendet.
128Frequency_interval wird nicht verwendet.

[ @freq_subday_type= ] Frequency_subday_type
Gibt die Einheiten für Frequency_subday_interval. Frequency_subday_type ist Int, hat keinen Standardwert und kann die folgenden Werte sind möglich:

WertBeschreibung (Einheit)
0 x 1Zum angegebenen Zeitpunkt
0 x 4Minuten
0 x 8Stunden

[ @freq_subday_interval= ] Frequency_subday_interval
Anzahl der Frequency_subday_type -Perioden zwischen den einzelnen Ausführungen des Auftrags auftreten. Frequency_subday_interval ist Int, hat den Standardwert 0.

[ @freq_relative_interval= ] Frequency_relative_interval
Weitere definiert die Frequency_interval beim Frequency_type festgelegt ist, um 32 (mit relativem Monatsintervall).

Frequency_relative_interval ist Int, hat keinen Standardwert und kann die folgenden Werte sind möglich:

WertBeschreibung (Einheit)
1Erster
2Zweimal
4Dritter
8Vierter
16Letzter

Frequency_relative_interval zeigt das Auftreten des Intervalls. Z. B. wenn Frequency_relative_interval festgelegt ist, um 2, Frequency_type festgelegt ist, um 32, und Frequency_interval auf festgelegt ist 3, kommt es, der geplante Auftrag am zweiten Dienstag jedes Monats.

[ @freq_recurrence_factor= ] Frequency_recurrence_factor
Die Anzahl der Wochen oder Monate zwischen den geplanten Ausführungen des Auftrags. Frequency_recurrence_factor wird nur verwendet, wenn Frequency_type festgelegt ist, um 8, 16, oder 32. Frequency_recurrence_factor ist Int, hat den Standardwert 0.

[ @active_start_date= ] Active_start_date
Das Datum, an dem Ausführung des Auftrags beginnen kann. Active_start_date ist Int, hat keinen Standardwert. Das Datum wird das Format YYYYMMDD. Wenn Active_start_date festgelegt 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 Erstellen und Zuweisen von Zeitplänen zu Aufträgen.

[ @active_end_date= ] Active_end_date
Das Datum, an dem die Ausführung des Auftrags beendet werden kann. Active_end_date ist Int, hat keinen Standardwert. Das Datum wird das Format YYYYMMDD.

[ @active_start_time= ] Active_start_time
Uhrzeit an einem beliebigen Tag zwischen Active_start_date und Active_end_date auftragsausführung beginnen. Active_start_time ist Int, hat keinen Standardwert. Die Zeit wird als HHMMSS im 24-Stunden-Format formatiert.

[ @active_end_time=Active_end_time
Uhrzeit an einem beliebigen Tag zwischen Active_start_date und Active_end_date auf die Ausführung eines Auftrags beendet. Active_end_time ist Int, hat keinen Standardwert. Die Zeit wird als HHMMSS im 24-Stunden-Format formatiert.

[ @schedule_id=Schedule_idAUSGABE
Die Zeitplan-ID, die dem Zeitplan zugewiesen wird, wenn er erfolgreich erstellt wird. Schedule_id ist eine Ausgabevariable vom Typ Int, hat keinen Standardwert.

[ @schedule_uid=] Schedule_uidAUSGABE
Ein eindeutiger Bezeichner für den Zeitplan. Schedule_uid ist eine Variable des Typs "uniqueidentifier".

0 (Erfolg) oder 1 (Fehler)

Keine

Auftragszeitpläne können jetzt unabhängig von Aufträgen verwaltet werden. Um einen Zeitplan einen Auftrag hinzuzufügen, verwenden Sie Sp_add_schedule um den Zeitplan zu erstellen und Sp_attach_schedule den Zeitplan einem Auftrag angefügt.

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.

Im folgende Beispiel weist einen Auftragszeitplan SaturdayReports die wird jeden Samstag um 2:00 Uhr ausgeführt.

EXEC msdb.dbo.sp_add_jobschedule 
        @job_name = N'SaturdayReports', -- Job name
        @name = N'Weekly_Sat_2AM',  -- Schedule name
        @freq_type = 8, -- Weekly
        @freq_interval = 64, -- Saturday
        @freq_recurrence_factor = 1, -- every week
        @active_start_time = 20000 -- 2:00 AM

Erstellen und Zuweisen von Zeitplänen zu Aufträgen
Planen eines Auftrags
Erstellen Sie einen Zeitplan
SQL Server-Agent-gespeicherte Prozeduren ( Transact-SQL )
Sp_add_schedule ( Transact-SQL )
Sp_update_schedule ( Transact-SQL )
Sp_delete_schedule ( Transact-SQL )
Sp_help_schedule ( Transact-SQL )
Sp_attach_schedule ( Transact-SQL )

Community-Beiträge

Anzeigen: