jobs.sp_purge_jobhistory (Azure 弹性作业) (Transact-SQL)
适用于:Azure SQL 数据库
删除 Azure 弹性作业服务中Azure SQL 数据库作业的历史记录。
此存储过程与 SQL Server 中用于SQL Server 代理服务的类似对象共享名称sp_purge_jobhistory
。 有关SQL Server 代理版本的信息,请参阅sp_purge_jobhistory(Transact-SQL)。
语法
[jobs].sp_purge_jobhistory [ @job_name = ] 'job_name'
[ , [ @job_id = ] job_id ]
[ , [ @oldest_date = ] oldest_date []
参数
@job_name
要删除其历史记录的作业的名称。 job_name为 nvarchar(128),默认值为 NULL
. 必须指定job_id或job_name,但不能同时指定两者。
@job_id
要删除其记录的作业的标识号。 job_id 是 uniqueidentifier,默认值为 NULL
. 必须指定job_id或job_name,但不能同时指定两者。
@oldest_date
历史记录中保留的最早记录。 oldest_date为DATETIME2,默认值为 NULL
. 指定oldest_date时,sp_purge_jobhistory
仅删除早于指定值的记录。
弹性作业中的所有时间均处于 UTC 时区。
返回代码值
0(成功)或 1(失败)
注解
如果超过 45 天,则会自动删除弹性作业历史记录。
权限
默认情况下,只有 sysadmin 固定服务器角色的成员才可以执行此存储过程。 仅 sysadmin 的成员可以使用此存储过程来编辑其他用户拥有的作业的属性。
示例
删除旧的作业历史记录
以下示例演示如何删除特定日期之前的作业历史记录。
连接到 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
删除作业及其所有历史记录
以下示例演示如何使用 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';