Freigeben über


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).For information about the SQL Server-Agent version, see sp_purge_jobhistory (Transact-SQL).

Transact-SQL-Syntaxkonventionen

Syntax

[jobs].sp_purge_jobhistory [ @job_name = ] 'job_name'
      [ , [ @job_id = ] job_id ]
      [ , [ @oldest_date = ] oldest_date []

Argumente

@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

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

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“ (fehlerhaft)

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 der Rolle „sysadmin“ können mithilfe dieser gespeicherten Prozedur Attribute von Aufträgen bearbeiten, die anderen Benutzern gehören.

Beispiele

Löschen eines alten Auftragsverlaufs

Das folgende Beispiel zeigt, wie der Auftragsverlauf bis zu 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

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';