sp_update_job (Transact-SQL)

Ändert die Attribute eines Auftrags.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

sp_update_job [ @job_id =] job_id | [@job_name =] 'job_name'
     [, [@new_name =] 'new_name' ] 
     [, [@enabled =] enabled ]
     [, [@description =] 'description' ] 
     [, [@start_step_id =] step_id ]
     [, [@category_name =] 'category' ] 
     [, [@owner_login_name =] 'login' ]
     [, [@notify_level_eventlog =] eventlog_level ]
     [, [@notify_level_email =] email_level ]
     [, [@notify_level_netsend =] netsend_level ]
     [, [@notify_level_page =] page_level ]
     [, [@notify_email_operator_name =] 'email_name' ]
          [, [@notify_netsend_operator_name =] 'netsend_operator' ]
          [, [@notify_page_operator_name =] 'page_operator' ]
     [, [@delete_level =] delete_level ] 
     [, [@automatic_post =] automatic_post ]

Argumente

  • [ @job_id = ] job_id
    Die ID des Auftrags, der aktualisiert werden soll. job_idist vom Datentyp uniqueidentifier.

  • [ @job_name = ] 'job_name'
    Der Name des Auftrags. job_nameist vom Datentyp nvarchar(128).

    HinweisHinweis

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

  • [ @new_name =] 'new_name'
    Der neue Name des Auftrags. new_nameist vom Datentyp nvarchar(128).

  • [ @enabled = ] enabled
    Gibt an, ob der Auftrag aktiviert ist (1) oder nicht (0). enabledist vom Datentyp tinyint.

  • [ @description =] 'description'
    Die Beschreibung des Auftrags. description ist vom Datentyp nvarchar(512).

  • [ @start_step_id =] step_id
    Die ID des ersten Schritts, der für den Auftrag ausgeführt werden soll. step_idist vom Datentyp int.

  • [ @category_name =] 'category'
    Die Kategorie des Auftrags. categoryist vom Datentyp nvarchar(128).

  • [ @owner_login_name =] 'login'
    Der Anmeldename, der der Besitzer des Auftrags ist. loginist vom Datentyp nvarchar(128). Nur Mitglieder der festen Serverrolle sysadmin können den Auftragsbesitz ändern.

  • [ @notify_level_eventlog =] eventlog_level
    Gibt an, wann für diesen Auftrag ein Eintrag in das Microsoft Windows-Anwendungsprotokoll geschrieben werden soll. eventlog_levelist vom Datentyp int. Die folgenden Werte sind möglich.

    Wert

    Beschreibung (Aktion)

    0

    Nie

    1

    Bei Erfolg

    2

    Bei Fehler

    3

    Immer

  • [ @notify_level_email =] email_level
    Gibt an, wann nach Abschluss dieses Auftrags eine E-Mail-Nachricht gesendet werden soll. email_levelist vom Datentyp int. email_levelverwendet dieselben Werte wie eventlog_level.

  • [ @notify_level_netsend =] netsend_level
    Gibt an, wann nach Abschluss dieses Auftrags eine Netzwerknachricht gesendet werden soll. netsend_levelist vom Datentyp int. netsend_levelverwendet dieselben Werte wie eventlog_level.

  • [ @notify_level_page =] page_level
    Gibt an, wann nach Abschluss dieses Auftrags eine Seite gesendet werden soll. page_levelist vom Datentyp int. page_levelverwendet dieselben Werte wie eventlog_level.

  • [ @notify_email_operator_name =] 'email_name'
    Der E-Mail-Name des Operators, an den die E-Mail-Nachricht gesendet wird, wenn email_level erreicht ist. email_name ist vom Datentyp nvarchar(128).

  • [ @notify_netsend_operator_name =] 'netsend_operator'
    Der Name des Operators, an den die Netzwerknachricht gesendet wird. netsend_operator ist vom Datentyp nvarchar(128).

  • [ @notify_page_operator_name =] 'page_operator'
    Der Name des Operators, an den eine Seite gesendet wird. page_operator ist vom Datentyp nvarchar(128).

  • [ @delete_level =] delete_level
    Gibt an, wann der Auftrag gelöscht werden soll. delete_valueist vom Datentyp int. delete_levelverwendet dieselben Werte wie eventlog_level.

  • [ @automatic_post =] automatic_post
    Reserviert.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

sp_update_job muss aus der msdb-Datenbank ausgeführt werden.

sp_update_job ändert nur die Einstellungen, für die Parameterwerte angegeben werden. Wird ein Parameter nicht angegeben, wird die aktuelle Einstellung beibehalten.

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-Serverrolle können diese gespeicherte Prozedur verwenden, um Attribute von Aufträgen zu ändern, deren Besitzer andere Benutzer sind.

Beispiele

Im folgenden Beispiel werden der Name, die Beschreibung und der aktivierte Status des Auftrags NightlyBackups geändert.

USE msdb ;
GO

EXEC dbo.sp_update_job
    @job_name = N'NightlyBackups',
    @new_name = N'NightlyBackups -- Disabled',
    @description = N'Nightly backups disabled during server migration.',
    @enabled = 0 ;
GO