Share via


sp_update_schedule (Transact-SQL)

Ändert die Einstellungen für einen SQL Server-Agent-Zeitplan.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

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 Zeitplans, der geändert werden soll. 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 Zeitplan. 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. Der Standardwert ist 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. enabledist vom Datentyp tinyint. Der Standardwert ist 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 ein Auftrag ausgeführt werden soll. freq_typeist vom Datentyp int, und der Standardwert ist 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-Diensts

    128

    Ausführen, wenn sich der Computer im Leerlauf befindet

  • @freq_interval = ] freq_interval
    Die Tage, an denen ein Auftrag ausgeführt wird. freq_interval ist vom Datentyp int. Der Standardwert ist 0, und der Wert hängt vom Wert von freq_type ab.

    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 ist 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 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_typehat den Datentyp int und 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
    Die Anzahl der freq_subday_type-Perioden zwischen den Ausführungsinstanzen des Auftrags. freq_subday_intervalist vom Datentyp int. Der Standardwert ist 0.

  • [ @freq_relative_interval = ] freq_relative_interval
    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 der Standardwert ist 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 den Wert 8, 16 oder 32 aufweist. freq_recurrence_factorist vom Datentyp int. Der Standardwert ist 0.

  • [ @active_start_date = ] active_start_date
    Das Datum, an dem die Ausführung eines Auftrags beginnen kann. active_start_dateist vom Datentyp int. Der Standardwert NULL gibt das aktuelle Datum an. Für das Datum wird das Format YYYYMMDD 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 eines Auftrags beendet werden kann. active_end_dateist vom Datentyp int. Der Standardwert 99991231 gibt den 31. Dezember 9999 an. Im Format JJJJMMTT.

  • [ @active_start_time = ] active_start_time
    Die Uhrzeit an einem beliebigen Tag zwischen active_start_date und active_end_date, zu der die Ausführung eines Auftrags gestartet werden soll. active_start_timeist vom Datentyp int und hat den Standardwert 000000. Dieser gibt 00:00:00 Uhr im 24-Stunden-Format an und muss im Format HHMMSS eingegeben werden.

  • [ @active_end_time = ] active_end_time
    Die Uhrzeit an einem beliebigen Tag zwischen active_start_date und active_end_date, zu der die Ausführung eines Auftrags beendet werden soll. active_end_timeist vom Datentyp int und hat den Standardwert 235959. Dieser gibt 23:59:59 Uhr im 24-Stunden-Format an und muss im Format HHMMSS eingegeben werden.

  • [ @owner_login_name= ] 'owner_login_name']
    Der Name des Serverprinzipals, der Besitzer des Zeitplans ist. owner_login_name ist vom Datentyp sysname, und der Standardwert ist NULL. Dieser gibt an, dass der Besitzer des Zeitplans der Ersteller ist.

  • [ @automatic_post =] automatic_post
    Reserviert.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

Alle Aufträge, die den Zeitplan verwenden, verwenden sofort die neuen Einstellungen. Zurzeit ausgeführte Aufträge werden durch das Ändern eines Zeitplans jedoch nicht beendet.

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.

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

Siehe auch

Verweis

Gespeicherte Prozeduren des SQL Server-Agents (Transact-SQL)

sp_add_schedule (Transact-SQL)

sp_add_jobschedule (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