解決 SQLSERVER 2008 無法刪除作業

USE [msdb]

DECLARE @job_name VARCHAR(100)

SET @job_name =  N'syspolicy_purge_history'


--注:jobName爲維護計劃對應的jobName

--刪除在計劃裏面的日誌

DELETE

    sysmaintplan_log

FROM

    sysmaintplan_subplans AS subplans

    INNER JOIN sysjobs_view AS syjobs ON subplans.job_id = syjobs.job_id

    INNER JOIN sysmaintplan_log ON subplans.subplan_id =sysmaintplan_log.subplan_id

WHERE

    (syjobs.name = @job_name)


--刪除代理的作業

DELETE

    sysjobschedules FROM sysjobs_view v

    INNER JOIN sysjobschedules o ON v.job_id=o.job_id

WHERE

    v.name=@job_name


--刪除子計劃

DELETE

    sysmaintplan_subplans

FROM

    sysmaintplan_subplans AS subplans    

    INNER JOIN sysjobs_view AS syjobs ON subplans.job_id = syjobs.job_id

WHERE

    (syjobs.name = @job_name)


--刪除作業

DELETE FROM msdb.dbo.sysjobs_view WHERE name = @job_name


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章