Freigeben über


sp_add_jobschedule (Transact-SQL)

Erstellt einen Zeitplan für einen Auftrag.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

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 ]

Arguments

  • [ @job_id= ] job_id
    Die ID des Auftrags, dem der Zeitplan hinzugefügt wird. job_id ist vom Datentyp uniqueidentifier und hat keinen Standardwert.

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

    HinweisHinweis

    Es muss entweder job_id oder job_name angegeben werden, aber beide Angaben sind nicht möglich.

  • [ @name= ] 'name'
    Name des Zeitplans. name ist vom Datentyp nvarchar(128) und hat keinen Standardwert.

  • [ @enabled= ] enabled_flag
    Gibt den aktuellen Status des Zeitplans an. enabled_flag ist vom Datentyp tinyint. Der Standardwert ist 1 (aktiviert). Mit 0 wird der Zeitplan deaktiviert. 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 vom Datentyp int und hat den Standardwert 0. Folgende Werte sind möglich:

    Wert

    Beschreibung

    1

    Einmal

    4

    Täglich

    8

    Wöchentlich

    16

    Monatlich

    32

    Monatlich, relativ zum Wert von frequency_interval.

    64

    Ausführen, wenn der SQL Server-Agent-Dienst gestartet wird.

    128

    Ausführen, wenn sich der Computer im Leerlauf befindet.

  • [ @freq_interval= ] frequency_interval
    Der Tag, an dem der Auftrag ausgeführt wird. frequency_interval ist vom Datentyp int, und der Standardwert ist 0. Der Wert hängt vom Wert von frequency_type ab, wie in der folgenden Tabelle angegeben:

    Wert

    Wirkung

    1 (einmal)

    frequency_interval wird nicht verwendet.

    4 (täglich)

    Alle frequency_interval Tage.

    8 (wöchentlich)

    Für frequency_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 frequency_interval-Tag des Monats.

    32 (mit relativem Monatsintervall)

    frequency_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 (Wenn der SQL Server-Agent-Dienst gestartet wird)

    frequency_interval wird nicht verwendet.

    128

    frequency_interval wird nicht verwendet.

  • [ @freq_subday_type= ] frequency_subday_type
    Gibt die Einheiten für frequency_subday_interval an. frequency_subday_type ist vom Datentyp int und hat keinen Standardwert. Folgende Werte sind möglich:

    Wert

    Beschreibung (Einheit)

    0x1

    Zum angegebenen Zeitpunkt

    0x4

    Minuten

    0x8

    Stunden

  • [ @freq_subday_interval= ] frequency_subday_interval
    Die Anzahl der frequency_subday_type-Perioden zwischen den Ausführungsinstanzen des Auftrags. frequency_subday_interval ist vom Datentyp int. Der Standardwert ist 0.

  • [ @freq_relative_interval= ] frequency_relative_interval
    Definiert frequency_interval näher, wenn frequency_type auf 32 (Mit relativem Monatsintervall) festgelegt ist.

    frequency_relative_interval ist vom Datentyp int und hat keinen Standardwert. Folgende Werte sind möglich:

    Wert

    Beschreibung (Einheit)

    1

    Erster

    2

    Zweiter

    4

    Dritter

    8

    Vierter

    16

    Letzter

    frequency_relative_interval zeigt das Auftreten des Intervalls an. Wenn beispielsweise frequency_relative_interval auf 2, frequency_type auf 32 und frequency_interval auf 3 festgelegt ist, wird der geplante Auftrag am zweiten Dienstag jedes Monats ausgeführt.

  • [ @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 auf 8, 16oder 32 festgelegt ist. frequency_recurrence_factor ist vom Datentyp int. Der Standardwert ist 0.

  • [ @active_start_date= ] active_start_date
    Das Datum, an dem Ausführung des Auftrags beginnen kann. active_start_date ist vom Datentyp int und hat keinen Standardwert. Für das Datum wird das Format YYYYMMDD verwendet. Wenn active_start_date festgelegt wird, 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 beendet werden kann. active_end_date ist vom Datentyp int und hat keinen Standardwert. Für das Datum wird das Format YYYYMMDD verwendet.

  • [ @active_start_time= ] active_start_time
    Die Uhrzeit an einem beliebigen Tag zwischen active_start_date und active_end_date, an dem die Ausführung eines Auftrags gestartet werden soll. active_start_time ist vom Datentyp int und hat keinen Standardwert. Für die Uhrzeit wird das Format HHMMSS und eine 24-Stunden-Schreibweise verwendet.

  • [ **@active_end_time=**active_end_time
    Die Uhrzeit an einem beliebigen Tag zwischen active_start_date und active_end_date, an dem die Ausführung eines Auftrags beendet werden soll. active_end_time ist vom Datentyp int und hat keinen Standardwert. Für die Uhrzeit wird das Format HHMMSS und eine 24-Stunden-Schreibweise verwendet.

  • [ @schedule_id=schedule_idOUTPUT
    Die Zeitplan-ID, die dem Zeitplan zugewiesen wird, wenn er erfolgreich erstellt wird. schedule_id ist eine Ausgabevariable vom Typ int ohne Standardwert.

  • [ @schedule_uid= ] schedule_uidOUTPUT
    Ein eindeutiger Bezeichner für den Zeitplan. schedule_uid ist eine Variable vom Typ uniqueidentifier.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Resultsets

Keine

Hinweise

Auftragszeitpläne können jetzt unabhängig von Aufträgen verwaltet werden. Wenn Sie einem Auftrag einen Zeitplan hinzufügen möchten, erstellen Sie den Zeitplan mithilfe von sp_add_schedule, und fügen Sie den Zeitplan mithilfe von sp_attach_schedule einem Auftrag hinzu.

Berechtigungen

Standardmäßig 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.

Siehe auch

Verweis

Gespeicherte Prozeduren des SQL Server-Agents (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)

Konzepte

Anlegen und Zuweisen von Zeitplänen zu Aufträgen

Planen eines Auftrags

Erstellen eines Zeitplans