2012-08-06 2 views

ответ

52

Это будет фиксировать случаи, когда явно ссылается процедура на этапе работы:

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, это может быть немного сложнее отследить. Также обратите внимание, что если ваше имя процедуры также может появиться естественным образом в другом коде, комментариях и т. Д., Это может привести к ложным срабатываниям.

+0

Незначительные модификации к этому: 'ЗАЯВЛЯЮ @Search VARCHAR (255) SET @ Поиск = '' SearchString ВЫБОР j.name, s.step_id, s.step_name ОТ msdb.dbo.sysjobsteps AS с, MSDB. dbo.sysjobs as j WHERE s.job_id = j.job_id И s.command LIKE '%' + @ Поиск + '%' ' –

Смежные вопросы