jobs.sp_purge_jobhistory (Azure Elastic Jobs) (Transact-SQL)
Gilt für: Azure SQL-Datenbank
Entfernt die Verlaufsdatensätze für einen Auftrag im Azure Elastic Jobs-Dienst für Azure SQL-Datenbank.
Diese gespeicherte Prozedur teilt den Namen mit sp_purge_jobhistory
einem ähnlichen Objekt in SQL Server für den SQL Server-Agent-Dienst. Informationen zur SQL Server-Agent Version finden Sie unter sp_purge_jobhistory.
Transact-SQL-Syntaxkonventionen
Syntax
[jobs].sp_purge_jobhistory [ @job_name = ] 'job_name'
[ , [ @job_id = ] job_id ]
[ , [ @oldest_date = ] oldest_date ]
Argumente
[ @job_name = ] N'job_name'
Der Name des Auftrags, für den die Verlaufsdatensätze gelöscht werden sollen. @job_name ist nvarchar(128), mit einem Standardwert von NULL
.
Entweder @job_id oder @job_name müssen angegeben werden, beide können jedoch nicht angegeben werden.
[ @job_id = ] job_id
Die ID des Auftrags für die zu löschenden Datensätze. @job_id ist eindeutiger Bezeichner mit einem Standardwert von NULL
.
Entweder @job_id oder @job_name müssen angegeben werden, beide können jedoch nicht angegeben werden.
[ @oldest_date = ] oldest_date
Der älteste Datensatz, der im Verlauf beibehalten werden soll. @oldest_date ist datetime2, mit einem Standardwert von NULL
. Wenn @oldest_date angegeben wird, werden nur Datensätze entfernt, sp_purge_jobhistory
die älter als der angegebene Wert sind.
Alle Zeitangaben in elastischen Aufträgen folgen der UTC-Zeitzone.
Rückgabecodewerte
0
(erfolgreich) oder 1
Fehler.
Hinweise
Der elastische Auftragsverlauf wird automatisch gelöscht, wenn mehr als 45 Tage alt sind.
Berechtigungen
Standardmäßig können nur Mitglieder der festen Serverrolle sysadmin diese gespeicherte Prozedur ausführen. Nur Mitglieder von sysadmin können diese gespeicherte Prozedur verwenden, um die Attribute von Aufträgen zu bearbeiten, die anderen Benutzern gehören.
Beispiele
A. Löschen eines alten Auftragsverlaufs
Das folgende Beispiel zeigt, wie Der Auftragsverlauf vor einem bestimmten Datum gelöscht wird.
Stellen Sie eine Verbindung mit der job_database
her, und führen Sie den folgenden Befehl aus:
--Connect to the job database specified when creating the job agent
-- Delete history of a specific job's executions older than the specified date
EXEC jobs.sp_purge_jobhistory
@job_name = 'ResultPoolsJob',
@oldest_date = '2016-07-01 00:00:00';
GO
B. Löschen eines Auftrags sowie des zugehörigen Auftragsverlaufs
Das folgende Beispiel zeigt, wie Sie einen Auftrag mit jobs.sp_delete_job und allen zugehörigen Auftragsverlauf löschen.
Stellen Sie eine Verbindung mit der job_database
her, und führen Sie den folgenden Befehl aus:
--Connect to the job database specified when creating the job agent
--Delete a job and all its history
EXEC jobs.sp_delete_job @job_name = 'ResultsPoolsJob';