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

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.

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

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