共用方式為


jobs.sp_purge_jobhistory (Azure 彈性作業) (Transact-SQL)

適用於:Azure SQL 資料庫

拿掉適用於 Azure SQL 資料庫 的 Azure 彈性作業服務中作業的記錄記錄。

這個預存程式會與 SQL Server Agent 服務中的類似物件共用 的名稱 sp_purge_jobhistory 。 如需 SQL Server Agent 版本的相關信息,請參閱 sp_purge_jobhistory

Transact-SQL 語法慣例

語法

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

引數

[ @job_name = ] N'job_name'

這是要刪除記錄的作業名稱。 @job_name為 nvarchar(128),預設值為 NULL

必須指定@job_id@job_name,但無法指定兩者。

[ @job_id = ] job_id

這是要刪除記錄之作業的作業識別碼。 @job_id為 uniqueidentifier,預設值為 NULL

必須指定@job_id@job_name,但無法指定兩者。

[ @oldest_date = ] oldest_date

要保留在記錄中的最舊記錄。 @oldest_date為 datetime2,預設值為 NULL。 指定@oldest_datesp_purge_jobhistory只會移除比指定的值還舊的記錄。

彈性作業的所有時間都在UTC時區。

傳回碼值

0 (成功) 或 1 (失敗)。

備註

如果超過 45 天,就會自動刪除彈性作業歷程記錄。

權限

依預設,只有 系統管理員 (sysadmin) 固定伺服器角色的成員,才能夠執行這個預存程序。 只有 sysadmin 的成員可以使用這個預存程式來編輯其他用戶擁有之作業的屬性。

範例

A. 刪除舊作業歷程記錄

下列範例示範如何在特定日期之前刪除作業歷程記錄。

連結至 job_database ,然後執行下列命令:

--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. 刪除作業及其所有的作業歷程記錄

下列範例示範如何使用jobs.sp_delete_job和所有相關的作業歷程記錄來刪除作業

連結至 job_database ,然後執行下列命令:

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