Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
azure SQL Managed Instance
Odstraní záznamy historie pro práci ve službě SQL Server Agent.
Syntaxe
sp_purge_jobhistory
[ [ @job_name = ] N'job_name' ]
[ , [ @job_id = ] 'job_id' ]
[ , [ @oldest_date = ] oldest_date ]
[ ; ]
Arguments
[ @job_name = ] N'job_name'
Název práce, pro kterou se záznamy historie mazaly.
@job_name je sysname s výchozím nastavením NULL. Buď @job_id , nebo @job_name musí být specifikovány, ale ani jedno nelze specifikovat.
Členové role pevného správce systému nebo členové pevné databázové role SQLAgentOperatorRole mohou vykonávat bez sp_purge_jobhistory specifikace @job_name nebo @job_id. Když uživatelé sysadminů tyto argumenty nespecifikují, historie úloh pro všechny lokální a multiserverové práce je smazána v čase stanoveném @oldest_date. Pokud uživatelé SQLAgentOperatorRole tyto argumenty nespecifikují, historie úloh pro všechny lokální úlohy je smazána v čase stanoveném @oldest_date.
[ @job_id = ] 'job_id'
Identifikační číslo práce pro záznamy, které mají být smazány.
@job_id je uniqueidentifier, s výchozím nastavením NULL. Buď @job_id , nebo @job_name musí být specifikovány, ale ani jedno nelze specifikovat.
Viz poznámka v popisu @job_name pro informace o tom, jak mohou uživatelé sysadminů nebo SQLAgentOperatorRole tento argument použít.
[ @oldest_date = ] oldest_date
Nejstarší záznam, který se v historii zachoval.
@oldest_date je datetime, s výchozím nastavením NULL. Když je oldest_date specifikováno, odstraní sp_purge_jobhistory pouze záznamy starší než je uvedená hodnota.
Hodnoty návratového kódu
0 (úspěch) nebo 1 (selhání).
Sada výsledků
Žádné.
Poznámky
Po sp_purge_jobhistory úspěšném dokončení je zpráva vrácena.
Tato uložená procedura sdílí název s sp_purge_jobhistory podobným objektem pro službu Azure Elastic Jobs pro Azure SQL Database. Informace o verzi elastic jobs najdete v jobs.sp_purge_jobhistory (Azure Elastic Jobs).
Povolení
Ve výchozím nastavení mohou tuto uloženou proceduru vykonávat pouze členové role pevného serveru správce systému nebo pevné databázové role SQLAgentOperatorRole . Členové správce systému mohou vymazat historii práce pro všechny lokální a multiserverové úlohy. Členové SQLAgentOperatorRole mohou vymazat historii práce pouze pro všechny lokální pracovní pozice.
Ostatní uživatelé, včetně členů SQLAgentUserRole a členů SQLAgentReaderRole, musí mít výslovně povoleno EXECUTE na .sp_purge_jobhistory Po udělení oprávnění EXECUTE na tuto uloženou proceduru mohou tito uživatelé vymazat historii pouze pro úlohy, které vlastní.
Pevné databázové role SQLAgentUserRole, SQLAgentReaderRole a SQLAgentOperatorRole jsou v databázi msdb . Podrobnosti o jejich oprávněních naleznete v článku SQL Server Agent Fixed Database Roles.
Examples
A. Odstraňte historii pro konkrétní práci
Následující příklad odstraní historii pro práci s názvem NightlyBackups.
USE msdb;
GO
EXECUTE dbo.sp_purge_jobhistory @job_name = N'NightlyBackups';
GO
B. Odstraňte historii u všech pracovních pozic
Pouze členové role pevného správce systému a členové role SQLAgentOperatorRole mohou odstranit historii všech úloh. Když uživatelé sysadminů spustí tuto uloženou proceduru bez parametrů, historie úloh pro všechny lokální a multiserverové úlohy je vymazána. Když uživatelé SQLAgentOperatorRole spustí tuto uloženou proceduru bez parametrů, vymaže se pouze historie úloh pro všechny lokální úlohy.
Následující příklad provádí proceduru bez parametrů pro odstranění všech záznamů historie.
USE msdb;
GO
EXECUTE dbo.sp_purge_jobhistory;
GO
Související obsah
- sp_help_job (Transact-SQL)
- sp_help_jobhistory (Transact-SQL)
- uložené procedury systému (Transact-SQL)
- udělení oprávnění k objektu (Transact-SQL)