是否可以从 SQL Server 2008 中删除未使用的 SQL 代理计划?
如果是这样,怎么做?我确定我错过了一些非常明显的东西!
如果您知道多余的时间表,那么它只是调用sp_delete_schedule
- http://msdn.microsoft.com/en-us/library/ms175050(v=sql.100).aspx - 删除
如果您需要获取当前未启用或附加到作业的计划列表,则需要通过msdb中的sysschedules
和表sysjobschedules
残疾人工作很容易找到:
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
要查找已启用但未附加到作业的那些:
选择 a.schedule_id、a.name、a.owner_sid、b.name 从 msdb..sys 安排一个 left join master..syslogins b on a.owner_sid=b.sid 其中 a.schedule_id 不在 (从 msdb..sysjobschedules 中选择 schedule_id)
我包括所有者名称,因此我可以检查系统计划(由 sa 拥有),因为我看不到任何其他方式来识别它们(如果其他人可以,我很想知道)。