42

特定のストアド プロシージャを使用しているジョブを確認する方法はありますか?

4

1 に答える 1

86

これにより、ジョブステップでプロシージャが明示的に参照されているインスタンスがキャプチャされます。

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で構築されている場合、これを追跡するのは少し難しいかもしれません。プロシージャ名が他のコードやコメントなどにも自然に表示される可能性がある場合は、誤検知が発生する可能性があることにも注意してください。

于 2012-08-06T13:01:15.300 に答える