sp_update_job (Transact-SQL)

gäller för:SQL ServerAzure SQL Managed Instance

Uppdaterar attributen för ett befintligt jobb som skapats i SQL Server Agent-tjänsten.

Transact-SQL syntaxkonventioner

Syntax

dbo.sp_update_job
    { [ @job_id = ] 'job_id'
        | [ @job_name = ] N'job_name' }
    [ , [ @new_name = ] N'new_name' ]
    [ , [ @enabled = ] enabled ]
    [ , [ @description = ] N'description' ]
    [ , [ @start_step_id = ] start_step_id ]
    [ , [ @category_name = ] N'category_name' ]
    [ , [ @owner_login_name = ] N'owner_login_name' ]
    [ , [ @notify_level_eventlog = ] notify_level_eventlog ]
    [ , [ @notify_level_email = ] notify_level_email ]
    [ , [ @notify_level_netsend = ] notify_level_netsend ]
    [ , [ @notify_level_page = ] notify_level_page ]
    [ , [ @notify_email_operator_name = ] N'notify_email_operator_name' ]
    [ , [ @notify_netsend_operator_name = ] N'notify_netsend_operator_name' ]
    [ , [ @notify_page_operator_name = ] N'notify_page_operator_name' ]
    [ , [ @delete_level = ] delete_level ]
    [ , [ @automatic_post = ] automatic_post ]
[ ; ]

Arguments

[ @job_id = ] "job_id"

Identifieringsnumret för jobbet som ska uppdateras. @job_id är unik identifierare, med standardvärdet .NULL

Antingen @job_id eller @job_name måste specificeras, men båda kan inte specificeras.

[ @job_name = ] N'job_name'

Namnet på tjänsten. @job_name är sysname, med standardvärdet .NULL

Antingen @job_id eller @job_name måste specificeras, men båda kan inte specificeras.

[ @new_name = ] N'new_name'

Det nya namnet på jobbet. @new_name är sysname, med standardvärdet .NULL

[ @enabled = ] aktiverat

Specificerar om jobbet är aktiverat (1) eller inte aktiverat (0). @enabled är tinyint, med standardvärdet .NULL

[ @description = ] Ingen beskrivning'

Beskrivningen av jobbet. @description är nvarchar(512), med standardvärdet .NULL

[ @start_step_id = ] start_step_id

Identifieringsnumret för det första steget som ska utföras för jobbet. @start_step_id är int, med standardvärdet .NULL

[ @category_name = ] N'category_name'

Kategorin för jobbet. @category_name är sysname, med standardvärdet .NULL

[ @owner_login_name = ] N'owner_login_name'

Namnet på inloggningen som äger jobbet. @owner_login_name är sysname, med standardvärdet .NULL Endast medlemmar i sysadmin-rollen med fast server kan byta ägare till jobbet.

Varning

SQL Server Agent kör Transact-SQL arbetsstegen i jobbägarens säkerhetskontext. Om du ändrar @owner_login_name sker dessa steg under den nya ägarens tillstånd.

[ @notify_level_eventlog = ] notify_level_eventlog

Specificerar när en post ska placeras i Microsoft Windows applikationslogg för detta jobb. @notify_level_eventlog är int, och kan vara ett av dessa värden.

Värde Beskrivning (åtgärd)
0 Aldrig
1 Vid framgång
2 Vid fel
3 Alltid

[ @notify_level_email = ] notify_level_email

Specificerar när ett e-postmeddelande ska skickas efter slutförandet av detta arbete. @notify_level_email är int, med standardvärdet .NULL @notify_level_email använder samma värden som @notify_level_eventlog.

[ @notify_level_netsend = ] notify_level_netsend

Specificerar när ett nätverksmeddelande ska skickas när detta jobb är slutfört. @notify_level_netsend är int, med standardvärdet .NULL @notify_level_netsend använder samma värden som @notify_level_eventlog.

[ @notify_level_page = ] notify_level_page

Specificerar när en sida ska skickas när detta jobb är slutfört. @notify_level_page är int, med standardvärdet .NULL @notify_level_page använder samma värden som @notify_level_eventlog.

[ @notify_email_operator_name = ] N'notify_email_operator_name'

Namnet på operatören som e-postmeddelandet skickas till när email_level nås. @notify_email_operator_name är sysname, med standardvärdet .NULL

[ @notify_netsend_operator_name = ] N'notify_netsend_operator_name'

Namnet på operatören som nätverksmeddelandet skickas till. @notify_netsend_operator_name är sysname, med standardvärdet .NULL

[ @notify_page_operator_name = ] N'notify_page_operator_name'

Namnet på operatören som en sida skickas till. @notify_page_operator_name är sysname, med standardvärdet .NULL

[ @delete_level = ] delete_level

Specificerar när jobbet ska tas bort. @delete_level är int, med standardvärdet .NULL @delete_level använder samma värden som @notify_level_eventlog.

[ @automatic_post = ] automatic_post

Identifieras endast i informationssyfte. Stöds inte. Framtida kompatibilitet garanteras inte.

Returnera kodvärden

0 (lyckades) eller 1 (fel).

Anmärkningar

sp_update_job måste köras från databasen msdb .

sp_update_job ändrar endast de inställningar för vilka parametervärden angavs. Om en parameter utelämnas behålls den aktuella inställningen.

Denna lagrade propud delar namnet på sp_update_job med ett liknande objekt för Azure Elastic Jobs-tjänsten för Azure SQL Database. För information om elastic jobs-versionen, se jobs.sp_update_job (Azure Elastic Jobs).

Permissions

Du kan ge EXECUTE behörigheter för denna procedur, men dessa behörigheter kan åsidosättas vid en SQL Server-uppgradering.

Andra användare måste tilldelas en av följande SQL Server Agent-fasta databasroller i databasen msdb :

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

För detaljer om behörigheterna för dessa roller, se SQL Server Agent Fixed Database Roles.

Endast medlemmar i sysadmin kan använda denna lagrade propud för att redigera attributen för jobb som ägs av andra användare.

Varning

SQL Server Agent kör Transact-SQL arbetsstegen i jobbägarens säkerhetskontext. Om du ändrar @owner_login_name sker dessa steg under den nya ägarens tillstånd.

Examples

Följande exempel ändrar namn, beskrivning och aktiverad status för jobbet NightlyBackups.

USE msdb;
GO

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