Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Managed Instance
Verwijdert alle SQL Server Agent job step-logs die met de argumenten zijn gespecificeerd. Gebruik deze opgeslagen procedure om de sysjobstepslogs-tabel in de msdb database te onderhouden.
Transact-SQL syntaxis-conventies
Syntaxis
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'
Het functieidentificatienummer van de taak die het staplogboek bevat dat verwijderd moet worden.
@job_id is uniqueidentifier, met als standaard .NULL
Zowel @job_id als @job_name moeten worden gespecificeerd, maar beide kunnen niet worden gespecificeerd.
[ @job_name = ] N'job_name'
De naam van de taak.
@job_name is sysname, met als standaard .NULL
Zowel @job_id als @job_name moeten worden gespecificeerd, maar beide kunnen niet worden gespecificeerd.
[ @step_id = ] step_id
Het identificatienummer van de stap in de taak waarvoor het staplogboek van de taak verwijderd moet worden.
@step_id is int, met als standaard .NULL Als ze niet zijn opgenomen, worden alle staplogboeken van de taak verwijderd tenzij @older_than of @larger_than worden gespecificeerd.
Zowel @step_id als @step_name kunnen worden gespecificeerd, maar beide niet.
[ @step_name = ] N'step_name'
De naam van de stap in de taak waarvoor het taakstaplogboek verwijderd moet worden.
@step_name is sysname, met als standaard .NULL
Zowel @step_id als @step_name kunnen worden gespecificeerd, maar beide niet.
[ @older_than = ] older_than
De datum en tijd van het oudste taakstaplogboek dat je wilt bijhouden.
@older_than is datumtijd, met als standaard NULL. Alle taakstaplogboeken die ouder zijn dan deze datum en tijd worden verwijderd.
Zowel @older_than als @larger_than kunnen worden gespecificeerd.
[ @larger_than = ] larger_than
De grootte in bytes van het grootste taakstaplogboek dat je wilt bijhouden.
@larger_than is int, met als standaard .NULL Alle jobstaplogs die groter zijn dan deze grootte worden verwijderd.
Zowel @older_than als @larger_than kunnen worden gespecificeerd.
Codewaarden retourneren
0 (geslaagd) of 1 (mislukt).
Resultaatset
Geen.
Opmerkingen
sp_delete_jobsteplog in de msdb database staat.
Als er geen argumenten anders dan @job_id of @job_name zijn gespecificeerd, worden alle taakstaplogboeken voor de opgegeven taak verwijderd.
Permissions
Je kunt rechten verlenen EXECUTE op deze procedure, maar deze rechten kunnen worden overschreven tijdens een SQL Server-upgrade.
Andere gebruikers moeten een van de volgende vaste SQL Server Agent-databaserollen in de msdb database krijgen:
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Voor details over de rechten van deze rollen, zie SQL Server Agent Fixed Database Roles.
Alleen leden van de sysadmin kunnen een taakstaplog verwijderen dat eigendom is van een andere gebruiker.
Voorbeelden
Eén. Verwijder alle taakstaplogs uit een taak
Het volgende voorbeeld verwijdert alle taakstaplogs voor de taak Weekly Sales Data Backup.
USE msdb;
GO
EXECUTE dbo.sp_delete_jobsteplog @job_name = N'Weekly Sales Data Backup';
GO
B. Verwijder het taakstaplogboek voor een bepaalde taakstap
Het volgende voorbeeld verwijdert het staplogboek van de taak voor stap 2 in de taak Weekly Sales Data Backup.
USE msdb;
GO
EXECUTE dbo.sp_delete_jobsteplog
@job_name = N'Weekly Sales Data Backup',
@step_id = 2;
GO
C. Verwijder alle taakstaplogboeken op basis van leeftijd en grootte
Het volgende voorbeeld verwijdert alle taakstaplogs die ouder zijn dan het middaguur op 25 oktober 2005 en groter dan 100 megabyte (MB) uit de taak.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