SQL Server查找作业正在运行的作业

时间:2012-08-06 12:55:58

标签: sql-server tsql sql-server-2008-r2

有没有办法找出哪些作业正在使用某个存储过程?

1 个答案:

答案 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构造的,那么跟踪它可能会更难一些。另请注意,如果您的程序名称也可以自然地出现在其他代码,注释等中,则可能会产生误报。