SQL Server Encuentra Qué Trabajos Están Ejecutando un Procedimiento


¿Hay alguna forma de averiguar qué trabajos están utilizando un determinado procedimiento almacenado?

Author: Lloyd Banks, 2012-08-06

1 answers

Esto capturará las instancias en las que se hace referencia explícita al procedimiento en el paso del trabajo:

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%'
  );

Si se llama por otra cosa que se llama desde el trabajo, o el comando se construye con SQL dinámico, esto podría ser un poco más difícil de rastrear. Tenga en cuenta también que si el nombre de su procedimiento también puede aparecer de forma natural en otro código, comentarios, etc. que puede producir falsos positivos.

 58
Author: Aaron Bertrand,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-06 13:01:15