Sdílet prostřednictvím


sp_help_job (Transact-SQL)

platí pro:SQL Server

Vrací informace o úlohách, které SQL Server Agent používá k automatizovaným aktivitám v SQL Serveru.

Transact-SQL konvence syntaxe

Syntaxe

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'

Identifikační číslo úlohy. @job_id je uniqueidentifier, s výchozím nastavením NULL.

Pro zobrazení konkrétní práce je třeba uvést buď @job_id , nebo @job_name . Vynechejte jak @job_id , tak @job_name při vracení informací o všech pracovních místech.

[ @job_name = ] N'job_name'

Název úlohy. @job_name je sysname s výchozím nastavením NULL.

Pro zobrazení konkrétní práce je třeba uvést buď @job_id , nebo @job_name . Vynechejte jak @job_id , tak @job_name při vracení informací o všech pracovních místech.

[ @job_aspect = ] 'job_aspect'

Funkce je zobrazena. @job_aspect je varchar(9) a může být jednou z těchto hodnot.

Hodnota Description
ALL Informace o aspektu práce
JOB Informace o pracovních pozicích
SCHEDULES Informace o rozpisu
STEPS Informace o krocích práce
TARGETS Informace o cíli

[ @job_type = ] 'job_type'

Typ pracovních pozic, které je třeba do zprávy zahrnout. @job_type je varchar(12), s výchozím hodnotou NULL. @job_type může být LOCAL nebo MULTI-SERVER.

[ @owner_login_name = ] N'owner_login_name'

Přihlašovací jméno majitele práce. @owner_login_name je sysname s výchozím nastavením NULL.

[ @subsystem = ] N'subsystém'

Název podsystému. @subsystem je nvarchar(40), s výchozím hodnotou NULL.

[ @category_name = ] N'category_name'

Název kategorie. @category_name je sysname, s výchozím nastavením NULL.

[ @enabled = ] povoleno

Číslo označující, zda jsou informace zobrazeny pro povolující nebo pro pracovní místa s postižením. @enabled je tinyint, s výchozím nastavením NULL.

  • 1 označuje povolené úlohy.
  • 0 označuje pracovní místa pro osoby se zdravotním postižením.

[ @execution_status = ] execution_status

Stav provádění těchto úloh. @execution_status je int a může být jednou z těchto hodnot.

Hodnota Description
0 Vrací jen ty práce, které nejsou nevyužité nebo pozastavené.
1 Vykonávající.
2 Čekám na nit.
3 Mezi opakovanými pokusy.
4 Nečinný.
5 Pozastavený.
7 Provádění akcí dokončení.

[ @date_comparator = ] 'date_comparator'

Srovnávací operátor se používá při porovnání @date_created a @date_last_modified. @date_comparator je char(1) a může být , =<, nebo >.

[ @date_created = ] date_created

Datum, kdy byla práce vytvořena. @date_created je datetime, s výchozím nastavením NULL.

[ @date_last_modified = ] date_last_modified

Datum, kdy byla práce naposledy upravena. @date_last_modified je datetime, s výchozím nastavením NULL.

[ @description = ] N'popis"

Popis práce. @description je nvarchar(512), s výchozím hodnotou NULL. @description může zahrnovat i zástupce pro rozpoznávání vzorů.

Hodnoty návratového kódu

0 (úspěch) nebo 1 (selhání).

Sada výsledků

Pokud nejsou specifikovány žádné argumenty, sp_help_job vrací tuto množinu výsledků.

Název sloupce Datový typ Description
job_id uniqueidentifier Jedinečné ID úlohy.
originating_server nvarchar(30) Název serveru, ze kterého práce přišla.
name sysname Název úlohy.
enabled tinyint Označuje, zda je úkol povolen, aby mohl být vykonán.
description nvarchar(512) Popis práce.
start_step_id int ID kroku v práci, kde by měla začít realizace.
category sysname Kategorie práce.
owner sysname Majitel práce.
notify_level_eventlog int Bitmaska označující okolnosti, kdy by měla být notifikační událost zaznamenána do logu aplikace Microsoft Windows. Může to být jedna z těchto hodnot:

0 = Nikdy
1 = Když práce uspěje
2 = Když úkol selže
3 = Kdykoli je úkol dokončen (bez ohledu na výsledek úkolu)
notify_level_email int Bitmaska označující okolnosti, kdy by měl být po dokončení úlohy odeslán e-mail s oznámením. Možné hodnoty jsou stejné jako pro notify_level_eventlog.
notify_level_netsend int Bitmaska indikuující okolnosti, kdy by měla být po dokončení úlohy odeslána síťová zpráva. Možné hodnoty jsou stejné jako pro notify_level_eventlog.
notify_level_page int Bitmaska indikuující okolnosti, za kterých by měla být stránka odeslána po dokončení úkolu. Možné hodnoty jsou stejné jako pro notify_level_eventlog.
notify_email_operator sysname E-mailem zadejte jméno operátora k oznámení.
notify_netsend_operator sysname Název počítače nebo uživatele použitého při odesílání síťových zpráv.
notify_page_operator sysname Název počítače nebo uživatele použitého při odesílání stránky.
delete_level int Bitmaska indikuující okolnosti, kdy by měla být úloha smazána po dokončení úlohy. Možné hodnoty jsou stejné jako pro notify_level_eventlog.
date_created datetime Datum vzniku práce.
date_modified datetime Datum poslední úpravy práce.
version_number int Verze úkolu (automaticky aktualizována pokaždé, když je úkol upraven).
last_run_date int Datum posledního zahájení práce při provedení.
last_run_time int Kdy byla práce naposledy zahájena.
last_run_outcome int Výsledek práce při posledním provozu:

0 = Neuspěl
1 = Podařilo se
3 = Zrušeno
5 = Neznámé
next_run_date int Datum, kdy je úkol naplánován k dalšímu provedení.
next_run_time int Čas je naplánovaný na další provedení zakázky.
next_run_schedule_id int Identifikační číslo dalšího jízdního plánu.
current_execution_status int Aktuální stav popravy:

1 = Provádění
2 = Čekání na vlákno
3 = Mezi opakovanými pokusy
4 = Nečinnost
5 = pozastaveno
6 = Zastaralý
7 = Provádění akcí dokončení
current_execution_step sysname Aktuální krok v realizaci práce.
current_retry_attempt int Pokud úkol běží a krok byl znovu vyzkoušen, jedná se o aktuální pokus o opakování.
has_step int Počet pracovních kroků, které tato práce má.
has_schedule int Počet pracovních rozvrhů, které má tato pozice.
has_target int Počet cílových serverů, které má pozice.
type int Typ úlohy

1 = Místní práce.
2 = Práce na multiserveru.
0 = Job nemá cílové servery.

Pokud je specifikováno @job_id nebo @job_name , sp_help_job vrátí tyto dodatečné sady výsledků pro kroky úloh, harmonogramy úloh a cílové servery úloh.

Toto je sada výsledků pro kroky práce.

Název sloupce Datový typ Description
step_id int Unikátní (pro tuto práci) identifikátor pro tento krok.
step_name sysname Název kroku
subsystem nvarchar(40) Podsystém, ve kterém se provádí příkaz kroku.
command nvarchar(3200) Příkaz k vykonání.
flags nvarchar(4000) Bitmaska hodnot, které řídí chování kroků.
cmdexec_success_code int Pro krok CmdExec je to výstupní kód procesu úspěšného příkazu.
on_success_action nvarchar(4000) Co dělat, pokud krok uspěje:

1 = Skončit s úspěchem.
2 = Skončit s neúspěchem.
3 = Přejděte na další krok.
4 = Jdi na krok.
on_success_step_id int Pokud on_success_action je , 4označuje to další krok k vykonání.
on_fail_action nvarchar(4000) Pokud krok selže, je třeba jednat. Hodnoty jsou stejné jako pro on_success_action.
on_fail_step_id int Pokud on_fail_action je , 4označuje to další krok k vykonání.
server sysname Rezervovaný.
database_name sysname Pro Transact-SQL krok je to databáze, ve které se příkaz vykoná.
database_user_name sysname Pro Transact-SQL krok je to uživatelský kontext databáze, ve kterém se příkaz vykonává.
retry_attempts int Maximální počet pokusů příkazu (pokud nebyl úspěšný), než bude krok považován za neúspěšný.
retry_interval int Interval (v minutách) mezi pokusy o opakování.
os_run_priority Varchar(4000) Rezervovaný.
output_file_name varchar(200) soubor, do kterého by měl být zapsán výstup příkazu (pouzeTransact-SQL a kroky CmdExec ).
last_run_outcome int Výsledek kroku při posledním provedení:

0 = Neuspěl
1 = Podařilo se
3 = Zrušeno
5 = Neznámé
last_run_duration int Délka (v sekundách) kroku při posledním spuštění kroku.
last_run_retries int Počet opakování příkazu při posledním provedení kroku.
last_run_date int Datum posledního zahájení kroku a provedení.
last_run_time int Čas, kdy krok začal naposledy s vykonáním.
proxy_id int Zástupce pro pracovní krok.

Toto je sada výsledků pro pracovní harmonogramy.

Název sloupce Datový typ Description
schedule_id int Identifikátor rozvrhu (jedinečný pro všechny úkoly).
schedule_name sysname Název rozpisu (unikátní pouze pro tuto práci).
enabled int Ať už je rozvrh aktivní (1) nebo ne (0).
freq_type int Hodnota označující, kdy má být úkol vykonán:

1 = Jednou
4 = Denně
8 = Týden
16 = Měsíční
32 = Měsíčně, vzhledem k freq_interval
64 = Spustit při spuštění služby SQL Server Agent.
freq_interval int Dny, kdy je práce vykonána. Hodnota závisí na hodnotě .freq_type Pro více informací viz sp_add_schedule
freq_subday_type int Jednotky pro freq_subday_interval. Pro více informací viz sp_add_schedule
freq_subday_interval int Počet period, freq_subday_type které musí nastat mezi jednotlivými vykonáními úkolu. Pro více informací viz sp_add_schedule
freq_relative_interval int Plánované freq_interval práce se vyskytují každý měsíc. Pro více informací viz sp_add_schedule
freq_recurrence_factor int Počet měsíců mezi plánovaným dokončením zakázky.
active_start_date int Datum zahájení realizace práce.
active_end_date int Datum ukončení realizace zakázky.
active_start_time int Je čas začít s realizací práce active_start_date.
active_end_time int Čas ukončit provedení práce na active_end_date.
date_created datetime Datum vytvoření rozpisu.
schedule_description nvarchar(4000) Anglický popis rozvrhu (pokud je požádán).
next_run_date int Datum dalšího rozvrhu způsobí, že se úkol spustí.
next_run_time int Časování dalšího rozvrhu způsobí, že se úkol spustí.
schedule_uid uniqueidentifier Identifikátor rozvrhu.
job_count int Vrací počet úloh, které odkazují na tento harmonogram.

Toto je sada výsledků pro servery s cílovými úlohami.

Název sloupce Datový typ Description
server_id int Identifikátor cílového serveru.
server_name nvarchar(30) Název počítače cílového serveru.
enlist_date datetime Datum zařazení cílového serveru do hlavního serveru.
last_poll_date datetime Datum, kdy cílový server naposledy dotazoval hlavní server.
last_run_date int Datum spuštění úlohy na tomto cílovém serveru.
last_run_time int Čas, kdy se na tomto cílovém serveru naposledy spustila úloha.
last_run_duration int Délka trvání úkolu při posledním spuštění na tomto cílovém serveru.
last_run_outcome tinyint Výsledek práce při posledním spuštění na tomto serveru:

0 = Neuspěl
1 = Podařilo se
3 = Zrušeno
5 = Neznámé
last_outcome_message nvarchar(1024) Výsledná zpráva z práce při posledním spuštění na tomto cílovém serveru.

Povolení

Na tomto postupu můžete udělit EXECUTE oprávnění, ale tato oprávnění mohou být během upgradu SQL Serveru přepsána.

Ostatní uživatelé musí mít v databázi msdb přiděleny některé z následujících pevných databázových rolí SQL Server Agent:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Podrobnosti o oprávněních těchto rolí naleznete v SQL Server Agent Fixed Database Roles.

Členové SQLAgentUserRole mohou zobrazit pouze pracovní pozice, které vlastní. Členové sysadmin, SQLAgentReaderRole a SQLAgentOperatorRole mohou zobrazit všechny lokální i multiserverové úlohy.

Examples

A. Informace o seznamu všech pracovních pozic

Následující příklad provádí proceduru sp_help_job bez parametrů, které by vrátily informace pro všechny úlohy aktuálně definované v databázi msdb .

USE msdb;
GO

EXECUTE dbo.sp_help_job;
GO

B. Informace o pracovních pozicích splňujících konkrétní kritéria

Následující příklad uvádí informace o úlohách pro multiserverové úlohy vlastněné místem françoisa , kde je úkol povolen a vykonáván.

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. Vyjmenujte všechny aspekty informací pro práci

Následující příklad uvádí všechny aspekty informací pro danou práci NightlyBackups.

USE msdb;
GO

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