2010-05-07 95 views
0

在SQL SERVER 2005中該查詢工作正常:從sys.procedures中選擇* object_definition(object_id)like'%J%' SELECT * FROM MSDB.DBO.SYSJOBS在哪裏名稱像'%J%'找到SQL Server 2000中的所有存儲過程和作業

但在SQL Server 2000中它不起作用。在這裏,我需要找到與我的字符串匹配的所有存儲過程和作業?如何在SQL Server 2000中找到?

問候, 庫馬爾

回答

0

SQL 2000缺乏sys.procedures系統表 - 你會發現最接近的是sysobjects,你可以做你的選擇WHERE name=? AND XTYPE='P'

要獲得SQL代理作業,你可以這樣做:

SELECT job_id, [name] FROM msdb.dbo.sysjobs WHERE NAME=?; 
+0

嗨對於存儲過程它工作正常,工作呢? – kumar 2010-05-07 06:27:05

+0

@Kumar,我已經更新了我的答案,以便您可以搜索代理作業。 – SqlRyan 2010-05-07 06:32:30

+0

它正在thanx – kumar 2010-05-07 06:34:56

0

syscomments中包含的過程定義文本(在它的文字和CTEXT列)。

但是,您應該意識到大型過程可以跨越多行,因此如果您在LIKE條件下搜索的內容很大,那麼您可能會不太走運,並且會跨越行邊界進行拆分。沒有簡單的解決方法,因爲SQL Server 2000沒有varchar(max)。

相關問題