删除未使用/冗余的SQL代理计划?

时间:2012-11-19 13:27:40

标签: sql-server sql-server-2008

是否可以从SQL Server 2008中删除未使用的SQL代理程序计划?

如果是这样,怎么样?我确定我错过了一些非常明显的东西!

1 个答案:

答案 0 :(得分:4)

如果您知道多余的时间表,那么只需拨打sp_delete_schedule - http://msdn.microsoft.com/en-us/library/ms175050(v=sql.100).aspx - 即可删除

如果您需要获取当前未启用或附加到作业的计划列表,您需要浏览msdb中的sysschedulessysjobschedules

残疾人工作很容易找到:

select a.schedule_id, a.name, b.name
from msdb..sysschedules a
left join master..syslogins b on a.owner_sid=b.sid
where enabled=0

要查找已启用但未附加到作业的内容:

select a.schedule_id, a.name, a.owner_sid, b.name
from 
msdb..sysschedules a 
left join master..syslogins b on a.owner_sid=b.sid
where a.schedule_id not in
(select schedule_id from msdb..sysjobschedules)

我包含所有者名称,因此我可以检查系统日程表(由sa拥有),因为我看不到任何其他方式来识别它们(如果其他人可以,我很想知道)。