jobs.sp_purge_jobhistory (Azure 弹性作业) (Transact-SQL)
适用于:Azure SQL 数据库
删除 Azure 弹性作业服务中Azure SQL 数据库作业的历史记录。
此存储过程与 SQL Server 中用于SQL Server 代理服务的类似对象共享名称sp_purge_jobhistory
。 有关SQL Server 代理版本的信息,请参阅sp_purge_jobhistory。
语法
[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_date时,sp_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';