Есть ли способ узнать, какие задания используют определенную хранимую процедуру?
SQL Server Найти, какие рабочие задания выполняются
Ответ 1
Это приведет к захвату экземпляров, где процедура явно указана на шаге задания:
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, это может быть немного сложнее отслеживать. Также обратите внимание, что если ваше имя процедуры также может появиться естественным образом в другом коде, комментариях и т.д., Чтобы оно могло создавать ложные срабатывания.