首先,我们需要创建一个存储过程,该存储过程将接受一个Job_Name参数,并使用该参数来查找并删除所有与该作业相关的计划任务。
CREATE PROCEDURE DeleteScheduleJob @Job_Name VARCHAR(50) AS BEGIN DECLARE @jobId BINARY(16)
-- Get the Job ID of the given Job_Name SELECT @jobId = job_id FROM msdb.dbo.sysjobs WHERE name = @Job_Name
-- Delete all schedules associated with the Job_ID DELETE FROM msdb.dbo.sysjobschedules WHERE job_id = @jobId
-- Delete the Job itself EXEC msdb.dbo.sp_delete_job @job_id=@jobId END
该存储过程将删除指定名称的作业及其所有计划任务。
要使用该存储过程,只需按如下所示执行它:
EXEC DeleteScheduleJob 'MyJobName'