sp_help_job (Transact-SQL)

Gäller för:SQL Server

Returnerar information om jobb som används av SQL Server Agent för att utföra automatiserade aktiviteter i SQL Server.

Transact-SQL syntaxkonventioner

Syntax

sp_help_job
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @job_aspect = ] 'job_aspect' ]
    [ , [ @job_type = ] 'job_type' ]
    [ , [ @owner_login_name = ] N'owner_login_name' ]
    [ , [ @subsystem = ] N'subsystem' ]
    [ , [ @category_name = ] N'category_name' ]
    [ , [ @enabled = ] enabled ]
    [ , [ @execution_status = ] execution_status ]
    [ , [ @date_comparator = ] 'date_comparator' ]
    [ , [ @date_created = ] date_created ]
    [ , [ @date_last_modified = ] date_last_modified ]
    [ , [ @description = ] N'description' ]
[ ; ]

Arguments

[ @job_id = ] 'job_id'

Jobbidentifieringsnumret. @job_id är unik identifierare, med standardvärdet .NULL

För att se ett specifikt jobb måste antingen @job_id eller @job_name anges. Utelämna både @job_id och @job_name för att returnera information om alla jobb.

[ @job_name = ] N'job_name'

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

För att se ett specifikt jobb måste antingen @job_id eller @job_name anges. Utelämna både @job_id och @job_name för att returnera information om alla jobb.

[ @job_aspect = ] 'job_aspect'

Jobbattributet att visa. @job_aspect är varchar(9) och kan vara ett av dessa värden.

Värde Description
ALL Information om jobbaspekt
JOB Jobbinformation
SCHEDULES Schemainformation
STEPS Information om jobbsteg
TARGETS Målinformation

[ @job_type = ] 'job_type'

Vilken typ av jobb som ska inkluderas i rapporten. @job_type är varchar(12), med en standard på NULL. @job_type kan vara LOCAL eller MULTI-SERVER.

[ @owner_login_name = ] N'owner_login_name'

Inloggningsnamnet på ägaren av jobbet. @owner_login_name är sysname, med standardvärdet .NULL

[ @subsystem = ] N'delsystem'

Namnet på delsystemet. @subsystem är nvarchar(40), med en standard på NULL.

[ @category_name = ] N'category_name'

Namnet på kategorin. @category_name är sysname, med standardvärdet .NULL

[ @enabled = ] aktiverat

Ett nummer som anger om information visas för aktiverade eller inaktiverade jobb. @enabled är tinyint, med standardvärdet .NULL

  • 1 indikerar aktiverade jobb.
  • 0 Indikerar funktionshindrade jobb.

[ @execution_status = ] execution_status

Utförandestatusen för jobben. @execution_status är int, och kan vara ett av dessa värden.

Värde Description
0 Returnerar bara de jobb som inte är inaktiva eller avstängda.
1 Verkställande.
2 Väntar på tråd.
3 Mellan försöken.
4 Overksam.
5 Upphängd.
7 Utför fullbordandeåtgärder.

[ @date_comparator = ] 'date_comparator'

Jämförelseoperatorn att använda vid jämförelser av @date_created och @date_last_modified. @date_comparator är karaktär(1), och kan vara =, <, eller >.

[ @date_created = ] date_created

Datumet då jobbet skapades. @date_created är datetime, med standardvärdet .NULL

[ @date_last_modified = ] date_last_modified

Datumet då jobbet senast ändrades. @date_last_modified är datetime, med standardvärdet .NULL

[ @description = ] Ingen beskrivning'

Beskrivningen av jobbet. @description är nvarchar(512), med standardvärdet .NULL @description kan inkludera jokerkaraktärer för mönstermatchning.

Returnera kodvärden

0 (lyckades) eller 1 (fel).

Resultatuppsättning

Om inga argument specificeras, sp_help_job returnerar denna resultatmängd.

Kolumnnamn Datatyp Description
job_id uniqueidentifier Unikt ID för jobbet.
originating_server nvarchar(30) Namnet på servern där jobbet kom.
name sysname Tjänstens namn.
enabled tinyint Indikerar om jobbet är aktiverat så att det kan köras.
description nvarchar(512) Beskrivning för jobbet.
start_step_id int ID av steget i jobbet där exekveringen ska börja.
category sysname Jobbkategori.
owner sysname Jobbägare.
notify_level_eventlog int En bitmask som anger omständigheter då en notifikationshändelse ska loggas i Microsoft Windows applikationslogg. Kan vara ett av dessa värden:

0 = Aldrig
1 = När ett jobb lyckas
2 = När jobbet misslyckas
3 = När jobbet slutförs (oavsett jobbets resultat)
notify_level_email int En bitmask som anger omständigheter då ett notifikationsmail ska skickas när ett jobb slutförs. Möjliga värden är desamma som för notify_level_eventlog.
notify_level_netsend int En bitmask som anger omständigheter under vilka ett nätverksmeddelande ska skickas när ett jobb slutförs. Möjliga värden är desamma som för notify_level_eventlog.
notify_level_page int En bitmask som anger omständigheter då en sida ska skickas när ett jobb slutförs. Möjliga värden är desamma som för notify_level_eventlog.
notify_email_operator sysname Mejla operatörens namn för att meddela.
notify_netsend_operator sysname Namnet på datorn eller användaren som används vid sändning av nätverksmeddelanden.
notify_page_operator sysname Namnet på datorn eller användaren som används vid sändning av en sida.
delete_level int En bitmask som anger omständigheter då jobbet ska tas bort när ett jobb slutförs. Möjliga värden är desamma som för notify_level_eventlog.
date_created datetime Datum då jobbet skapades.
date_modified datetime Datum då jobbet senast ändrades.
version_number int Version av jobbet (uppdateras automatiskt varje gång jobbet ändras).
last_run_date int Datum då jobbet senast påbörjades.
last_run_time int Tiden då jobbet senast började utföras.
last_run_outcome int Resultatet av jobbet senast det kördes:

0 = Misslyckades
1 = Lyckades
3 = Inställd
5 = Okänt
next_run_date int Datum då jobbet är planerat att köras härnäst.
next_run_time int Tid då jobbet är schemalagt att köras härnäst.
next_run_schedule_id int Identifieringsnummer för nästa körschema.
current_execution_status int Nuvarande genomförandestatus:

1 = Utför
2 = Väntar på tråden
3 = Mellan omförsök
4 = Viloläge
5 = Pausad
6 = Föråldrad
7 = UtförandeFullbordandeåtgärder
current_execution_step sysname Nuvarande genomförandesteg i jobbet.
current_retry_attempt int Om jobbet körs och steget försöktes om, är detta det aktuella försöket att försöka om.
has_step int Antal arbetssteg som jobbet har.
has_schedule int Antal arbetsscheman jobbet har.
has_target int Antal målservrar som jobbet har.
type int Typ av jobb.

1 = Lokalt jobb.
2 = Multiserverjobb.
0 = Jobbet har inga målservrar.

Om @job_id eller @job_name specificeras, sp_help_job returnerar dessa ytterligare resultatuppsättningar för jobbsteg, jobbscheman och jobbmålservrar.

Detta är resultatuppsättningen för jobbsteg.

Kolumnnamn Datatyp Description
step_id int Unik identifierare (för detta jobb) för steget.
step_name sysname Namnet på steget.
subsystem nvarchar(40) Delsystem där stegkommandot ska utföras.
command Nvarchar(3200) Kommando att utföra.
flags nvarchar(4000) En bitmask av värden som styr stegbeteende.
cmdexec_success_code int För ett CmdExec-steg är detta utgångskoden för processen för ett lyckat kommando.
on_success_action nvarchar(4000) Vad du ska göra om steget lyckas:

1 = Sluta med framgång.
2 = Sluta med misslyckande.
3 = Gå till nästa steg.
4 = Gå till steget.
on_success_step_id int Om on_success_action är 4, indikerar detta nästa steg att utföra.
on_fail_action nvarchar(4000) Åtgärder att vidta om steget misslyckas. Värdena är desamma som för .on_success_action
on_fail_step_id int Om on_fail_action är 4, indikerar detta nästa steg att utföra.
server sysname Reserverat.
database_name sysname För ett Transact-SQL steg är detta databasen där kommandot exekveras.
database_user_name sysname För ett Transact-SQL steg är detta databasanvändarkontexten där kommandot exekveras.
retry_attempts int Maximalt antal gånger bör kommandot försökas om (om det misslyckas) innan steget anses ha misslyckats.
retry_interval int Intervall (i minuter) mellan eventuella omförsök.
os_run_priority Varchar(4000) Reserverat.
output_file_name varchar(200) Filen som kommandoutgången ska skrivas till (endastTransact-SQL och CmdExec-steg ).
last_run_outcome int Resultatet av steget förra gången det kördes:

0 = Misslyckades
1 = Lyckades
3 = Inställd
5 = Okänt
last_run_duration int Längden (i sekunder) av steget senast det kördes.
last_run_retries int Antal gånger kommandot försöktes om sista gången steget kördes.
last_run_date int Datum för det sista steget som påbörjades utförande.
last_run_time int Tiden för att sista steget påbörjades utförande.
proxy_id int Proxy för jobbsteget.

Detta är resultatsättet för arbetsscheman.

Kolumnnamn Datatyp Description
schedule_id int Identifierare för schemat (unik för alla jobb).
schedule_name sysname Namnet på schemat (unikt för detta jobb endast).
enabled int Oavsett om schemat är aktivt (1) eller inte (0).
freq_type int Värde som anger när jobbet ska utföras:

1 = En gång
4 = Dagligen
8 = Veckovis
16 = Månadsvis
32 = Månadsvis, relativt freq_interval
64 = Kör när SQL Server Agent-tjänsten startar.
freq_interval int Dagar då jobbet utförs. Värdet beror på värdet av freq_type. För mer information, se sp_add_schedule
freq_subday_type int Enheter för freq_subday_interval. För mer information, se sp_add_schedule
freq_subday_interval int Antal perioder freq_subday_type som ska inträffa mellan varje utförande av jobbet. För mer information, se sp_add_schedule
freq_relative_interval int Schemalagda jobb inträffar freq_interval varje månad. För mer information, se sp_add_schedule
freq_recurrence_factor int Antal månader mellan den planerade utförandet av jobbet.
active_start_date int Datum för att börja utföra arbetet.
active_end_date int Från datum till slut utförandet av jobbet.
active_start_time int Dags att börja utföra arbetet på active_start_date.
active_end_time int Tid att avsluta utförandet av jobbet på active_end_date.
date_created datetime Datum då schemat skapas.
schedule_description nvarchar(4000) En engelsk beskrivning av schemat (om det efterfrågas).
next_run_date int Datera schemat nästa gång gör att jobbet körs.
next_run_time int Att tajma schemat nästa gång gör att jobbet körs.
schedule_uid uniqueidentifier Identifierare för schemat.
job_count int Returnerar antalet jobb som refererar till detta schema.

Detta är resultatuppsättningen för jobbmålsservrar.

Kolumnnamn Datatyp Description
server_id int Identifierare för målservern.
server_name nvarchar(30) Datornamnet på målservern.
enlist_date datetime Datera den målserver som är inskriven i huvudservern.
last_poll_date datetime Datum för den målserver som senast pollade huvudservern.
last_run_date int Datum då jobbet senast startade körningen på denna målserver.
last_run_time int Tiden då jobbet senast började köras på denna målserver.
last_run_duration int Längden på jobbet senast det kördes på denna målserver.
last_run_outcome tinyint Resultatet av jobbet senast det kördes på denna server:

0 = Misslyckades
1 = Lyckades
3 = Inställd
5 = Okänt
last_outcome_message nvarchar(1024) Resultatmeddelande från jobbet senast det kördes på denna målserver.

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.

Medlemmar i SQLAgentUserRole kan endast se jobb som de äger. Medlemmar i sysadmin, SQLAgentReaderRole och SQLAgentOperatorRole kan se alla lokala och multiserverjobb.

Examples

A. Listinformation för alla jobb

Följande exempel kör sp_help_job proceduren utan parametrar för att returnera informationen för alla jobb som för närvarande definieras i databasen msdb .

USE msdb;
GO

EXECUTE dbo.sp_help_job;
GO

B. Listinformation för jobb som uppfyller specifika kriterier

Följande exempel listar jobbinformation för de multiserverjobb som ägs av françoisa där jobbet är aktiverat och kört.

USE msdb;
GO

EXECUTE dbo.sp_help_job
    @job_type = N'MULTI-SERVER',
    @owner_login_name = N'françoisa',
    @enabled = 1,
    @execution_status = 1;
GO

C. Lista alla aspekter av information för ett jobb

Följande exempel listar alla aspekter av informationen för jobbet NightlyBackups.

USE msdb;
GO

EXECUTE dbo.sp_help_job
    @job_name = N'NightlyBackups',
    @job_aspect = N'ALL';
GO