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 ]

Argumente

  • [ @job_id= ] job_id
    Die ID des Auftrags, für den der Zeitplan hinzugefügt wird. job_id ist vom Datentyp uniqueidentifier und weist keinen Standardwert auf.

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

    HinweisHinweis

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

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

  • [ @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, der Standardwert ist 0. Die folgenden Werte sind möglich:

    Value

    Beschreibung

    1

    Einmaliger Zeitplan

    4

    Täglicher Zeitplan

    8

    Wöchentlicher Zeitplan

    16

    Monatlicher Zeitplan

    32

    Monatlich, relativ zu 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, der Standardwert ist 0. Der Wert hängt vom Wert von frequency_type ab, wie in der folgenden Tabelle angegeben:

    Value

    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 weist keinen Standardwert auf. Folgende Werte sind möglich:

    Value

    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 weist keinen Standardwert auf. Folgende Werte sind möglich:

    Value

    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, 16 oder 32 festgelegt ist. frequency_recurrence_factor ist vom Datentyp int, der Standardwert ist 0.

  • [ @active_start_date= ] active_start_date
    Datum, an dem die Auftragsausführung beginnen kann. active_start_date ist vom Datentyp int und weist keinen Standardwert auf. 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
    Datum, an dem die Auftragsausführung enden kann. active_end_date ist vom Datentyp int und weist keinen Standardwert auf. Für das Datum wird das Format YYYYMMDD verwendet.

  • [ @active_start_time= ] active_start_time
    Uhrzeit an einem beliebigen Tag in dem durch active_start_date und active_end_date definierten Zeitraum, zu der die Auftragsausführung beginnt. active_start_time ist vom Datentyp int und weist keinen Standardwert auf. Für die Uhrzeit wird das Format HHMMSS und eine 24-Stunden-Schreibweise verwendet.

  • [ **@active_end_time=**active_end_time
    Uhrzeit an einem beliebigen Tag in dem durch active_start_date und active_end_date definierten Zeitraum, zu der die Auftragsausführung endet. active_end_time ist vom Datentyp int und weist keinen Standardwert auf. 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 und weist keinen Standardwert auf.

  • [ @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

Ausführliche Informationen zu den Berechtigungen dieser Rollen finden Sie unter Feste Datenbankrollen des SQL Server-Agents.

Änderungsverlauf

Aktualisierter Inhalt

Der Parameter für das Startdatum enthält Informationen über die Bestätigung des Startdatums, nachdem ein Zeitplan erstellt wurde.