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í všechny logy pracovních kroků SQL Server Agenta, které jsou specifikovány s argumenty. Použijte msdb tuto uloženou proceduru k udržení tabulky sysjobsteplogs v databázi.
Syntaxe
sp_delete_jobsteplog
[ [ @job_id = ] 'job_id' ]
[ , [ @job_name = ] N'job_name' ]
[ , [ @step_id = ] step_id ]
[ , [ @step_name = ] N'step_name' ]
[ , [ @older_than = ] older_than ]
[ , [ @larger_than = ] larger_than ]
[ ; ]
Arguments
[ @job_id = ] 'job_id'
Identifikační číslo práce pro úlohu, která obsahuje záznam kroků, které má být odstraněno.
@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.
[ @job_name = ] N'job_name'
Název úlohy.
@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.
[ @step_id = ] step_id
Identifikační číslo kroku v práci, pro který má být záznam kroků smazán.
@step_id je int, s výchozím nastavením NULL. Pokud nejsou zahrnuty, všechny záznamy o krocích práce v práci jsou smazány, pokud nejsou uvedeny @older_than nebo @larger_than .
Buď @step_id , nebo @step_name lze specifikovat, ale ani jedno nelze specifikovat.
[ @step_name = ] N'step_name'
Název kroku v práci, pro který má být záznam kroků smazán.
@step_name je sysname, s výchozím nastavením NULL.
Buď @step_id , nebo @step_name lze specifikovat, ale ani jedno nelze specifikovat.
[ @older_than = ] older_than
Datum a čas nejstaršího pracovního deníku, který si chcete vést.
@older_than je datetime, s výchozím nastavením NULL. Všechny záznamy o krocích práce starší než toto datum a čas jsou odstraněny.
Lze specifikovat jak @older_than , tak @larger_than .
[ @larger_than = ] larger_than
Velikost v bajtech největšího log kroků úlohy, který chcete uchovávat.
@larger_than je int, s výchozím nastavením NULL. Všechny záznamy kroků práce větší než tato velikost jsou odstraněny.
Lze specifikovat jak @older_than , tak @larger_than .
Hodnoty návratového kódu
0 (úspěch) nebo 1 (selhání).
Sada výsledků
Žádné.
Poznámky
sp_delete_jobsteplog je v databázi msdb .
Pokud nejsou specifikovány žádné argumenty kromě @job_id nebo @job_name , všechny záznamy kroků pro danou práci jsou smazány.
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.
Pouze členové sysadminu mohou smazat záznam kroků práce, který vlastní jiný uživatel.
Examples
A. Odstraňte všechny záznamy o pracovních krokech z práce
Následující příklad odstraní všechny záznamy kroků pro danou práci Weekly Sales Data Backup.
USE msdb;
GO
EXECUTE dbo.sp_delete_jobsteplog @job_name = N'Weekly Sales Data Backup';
GO
B. Odstraňte záznam kroků práce pro konkrétní krok
Následující příklad odstraní záznam kroků pro krok 2 v úlohě Weekly Sales Data Backup.
USE msdb;
GO
EXECUTE dbo.sp_delete_jobsteplog
@job_name = N'Weekly Sales Data Backup',
@step_id = 2;
GO
C. Odstraňte všechny záznamy o pracovních krokech podle věku a velikosti
Následující příklad odstraní všechny záznamy kroků úlohy, které jsou starší než poledne 25. října 2005 a větší než 100 megabajtů (MB) z dané úlohy Weekly Sales Data Backup.
USE msdb;
GO
EXECUTE dbo.sp_delete_jobsteplog
@job_name = N'Weekly Sales Data Backup',
@older_than = '10/25/2005 12:00:00',
@larger_than = 104857600;
GO