Sdílet prostřednictvím


sp_help_jobhistory (Transact-SQL)

platí pro:SQL Server

Poskytuje informace o pracovních pozicích pro servery v doméně správy více serverů.

Transact-SQL konvence syntaxe

Syntaxe

sp_help_jobhistory
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @step_id = ] step_id ]
    [ , [ @sql_message_id = ] sql_message_id ]
    [ , [ @sql_severity = ] sql_severity ]
    [ , [ @start_run_date = ] start_run_date ]
    [ , [ @end_run_date = ] end_run_date ]
    [ , [ @start_run_time = ] start_run_time ]
    [ , [ @end_run_time = ] end_run_time ]
    [ , [ @minimum_run_duration = ] minimum_run_duration ]
    [ , [ @run_status = ] run_status ]
    [ , [ @minimum_retries = ] minimum_retries ]
    [ , [ @oldest_first = ] oldest_first ]
    [ , [ @server = ] N'server' ]
    [ , [ @mode = ] 'mode' ]
[ ; ]

Arguments

[ @job_id = ] 'job_id'

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

[ @job_name = ] N'job_name'

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

[ @step_id = ] step_id

Identifikační číslo kroku. @step_id je int, s výchozím nastavením NULL.

[ @sql_message_id = ] sql_message_id

Identifikační číslo chybové zprávy vrácené SQL Serverem při spuštění úlohy. @sql_message_id je int, s výchozím hodnotou NULL.

[ @sql_severity = ] sql_severity

Úroveň závažnosti chybové zprávy, kterou SQL Server při spuštění úkolu vrací. @sql_severity je int, s výchozím nastavením NULL.

[ @start_run_date = ] start_run_date

Datum, kdy byla práce zahájena. @start_run_date je int, s výchozím hodnotou NULL. @start_run_date musí být zadán ve tvaru yyyyMMdd, kde yyyy je čtyřznakový rok, MM je dvouznakový název měsíce a dd je dvouznakový název dne.

[ @end_run_date = ] end_run_date

Datum dokončení práce. @end_run_date je int, s výchozím nastavením NULL. @end_run_date musí být zadán ve tvaru yyyyMMdd, kde yyyy je čtyřznakový rok, MM dvouznakový název měsíce a dd dvouznakový den.

[ @start_run_time = ] start_run_time

Kdy byla práce zahájena. @start_run_time je int, s výchozím hodnotou NULL. @start_run_time je třeba zadat ve tvaru HHmmss, kde HH je dvouznaková hodina dne, mm dvouznaková minuta dne a ss dvouznaková druhá část dne.

[ @end_run_time = ] end_run_time

Čas, kdy byla práce dokončena. @end_run_time je int, s výchozím nastavením NULL. @end_run_time musí být zadán ve tvaru HHmmss, kde HH je dvouznaková hodina dne, mm dvouznaková minuta dne a ss dvouznaková sekunda dne.

[ @minimum_run_duration = ] minimum_run_duration

Minimální doba potřebná k dokončení práce. @minimum_run_duration je int, s výchozím hodnotou NULL. @minimum_run_duration musí být zadán ve tvaru HHmmss, kde HH je dvouznaková hodina dne, mm dvouznaková minuta dne a ss dvouznaková druhá část dne.

[ @run_status = ] run_status

Stav provedení práce. @run_status je int a může být jednou z těchto hodnot.

Hodnota Description
0 Neúspěšné
1 Úspěch
2 Zkusit znovu (pouze krokem)
3 Zrušeno
4 Zpráva v průběhu
5 Neznámý

[ @minimum_retries = ] minimum_retries

Minimální početkrát, kdy by se úkol měl pokusit znovu spustit. @minimum_retries je int, s výchozím nastavením .NULL

[ @oldest_first = ] oldest_first

Zda nejprve prezentovat výstup s nejstaršími pracovními pozicemi. @oldest_first je int, s výchozím nastavením 0.

  • 0 Nejprve představí nejnovější práce.
  • 1 nejdříve představuje nejstarší práce.

[ @server = ] N' server'

Název serveru, na kterém byla práce provedena. @server je sysname s výchozím nastavením NULL.

[ @mode = ] 'mód'

Specifikuje, zda SQL Server vytiskne všechny sloupce ve výsledné sadě (FULL) nebo shrnutíSUMMARY () sloupců. @mode je varchar(7), s výchozím hodnotou SUMMARY.

Hodnoty návratového kódu

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

Sada výsledků

Skutečný seznam sloupců závisí na hodnotě @mode. Nejkomplexnější množina sloupců je zobrazena v následující tabulce a vrací se, když @mode je .FULL

Název sloupce Datový typ Description
instance_id int Identifikační číslo záznamu o historii.
job_id uniqueidentifier Identifikační číslo práce.
job_name sysname Název pracovní pozice.
step_id int Identifikační číslo kroku (0 pro pracovní historii).
step_name sysname Název kroku (NULL pro pracovní historii).
sql_message_id int Pro Transact-SQL krok nejnovější Transact-SQL chybové číslo nalezené při spuštění příkazu.
sql_severity int Pro Transact-SQL krok nejvyšší Transact-SQL závažnost chyby, která byla při spuštění příkazu zaznamenána.
message nvarchar(1024) Zpráva o historii zaměstnání nebo o krocích.
run_status int Výsledek práce nebo kroku.
run_date int Datum zahájení práce nebo kroku.
run_time int Čas začít s úkolem nebo krokem.
run_duration int Uplynulý čas při provedení úkolu nebo kroku ve HHmmss formátu.
operator_emailed nvarchar(20) Operátor, kterému bylo ohledně této práce napsáno e-mailem (je to NULL pro historii kroků).
operator_netsent nvarchar(20) Operátor, kterému byla zaslána síťová zpráva ohledně této práce (je to NULL pro historii kroků).
operator_paged nvarchar(20) Operátor, kterého se na tuto práci ptali (je pro NULL historii kroků).
retries_attempted int Počet opakování kroku (vždy 0 pro historii práce).
server nvarchar(30) Server nebo úkol se spustí. Je vždy (local).

Poznámky

sp_help_jobhistory vrací report s historií specifikovaných plánovaných úloh. Pokud nejsou specifikovány žádné parametry, zpráva obsahuje historii všech plánovaných úloh.

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é databázové role SQLAgentUserRole mohou zobrazit pouze historii pracovních pozic, které vlastní.

Examples

A. Vypisujte všechny informace o pracovních pozicích

Následující příklad uvádí všechny informace o pracovních pozicích pro danou NightlyBackups pozici.

USE msdb;
GO

EXECUTE dbo.sp_help_jobhistory @job_name = N'NightlyBackups';
GO

B. Uveďte informace o pracovních pozicích, které splňují určité podmínky

Následující příklad vytiskne všechny sloupce a všechny informace o úlohách pro jakékoli neúspěšné úlohy a kroky neúspěšných úloh s chybovou zprávou (50100uživatelsky definovaná chybová zpráva) a závažností .20

USE msdb;
GO

EXECUTE dbo.sp_help_jobhistory
    @sql_message_id = 50100,
    @sql_severity = 20,
    @run_status = 0,
    @mode = N'FULL';
GO