有没有办法找出哪些作业正在使用某个存储过程?
答案 0 :(得分:67)
这将捕获在作业步骤中显式引用过程的实例:
SELECT j.name
FROM msdb.dbo.sysjobs AS j
WHERE EXISTS
(
SELECT 1 FROM msdb.dbo.sysjobsteps AS s
WHERE s.job_id = j.job_id
AND s.command LIKE '%procedurename%'
);
如果它是由从作业调用的其他东西调用的,或者该命令是使用动态SQL构造的,那么跟踪它可能会更难一些。另请注意,如果您的程序名称也可以自然地出现在其他代码,注释等中,则可能会产生误报。