2012-08-06 27 views

Trả lời

52

này sẽ nắm bắt được trường hợp các thủ tục được tham chiếu rõ ràng trong bước công việc:

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

Nếu nó được gọi bằng một cái gì đó khác mà được gọi là từ công việc, hoặc lệnh được xây dựng với SQL động, điều này có thể khó khăn hơn một chút để theo dõi. Cũng lưu ý rằng nếu tên thủ tục của bạn cũng có thể xuất hiện tự nhiên trong các mã, nhận xét, v.v. khác, nó có thể tạo ra các kết quả dương tính giả.

+0

sửa đổi nhẹ như sau: 'DECLARE @Search varchar (255) SET @ tìm kiếm = 'searchstring' CHỌN j.name, s.step_id, s.step_name TỪ msdb.dbo.sysjobsteps AS s, msdb. dbo.sysjobs là j WHERE s.job_id = j.job_id VÀ s.command LIKE '%' + @ Search + '%' ' –

Các vấn đề liên quan