2012-08-06 8 views

Odpowiedz

52

To uchwycić przypadki, gdzie procedura jest wyraźnie odwołuje się do etapu pracy:

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

Jeśli jest to nazywane przez coś innego, co nazywa się z pracy, czy komenda jest wykonana z dynamicznym SQL to, może być nieco trudniejsze do wyśledzenia. Zauważ też, że jeśli twoja nazwa procedury może również pojawiać się naturalnie w innym kodzie, komentarzach itp., Może powodować fałszywe alarmy.

+0

niewielkie modyfikacje do tego: 'DEKLARUJĄ @Search varchar (255) SET @ search = 'searchstring' SELECT j.name, s.step_id, s.step_name Z msdb.dbo.sysjobsteps co s msdb. dbo.sysjobs jako j GDZIE s.job_id = j.job_id I s.command LIKE '%' + @ Search + '%' ' –

Powiązane problemy