Click here to Skip to main content
Click here to Skip to main content
Alternative Tip

Tagged as

Go to top

Find all Stored Procedures having a given text in it

, 25 Oct 2011
Rate this:
Please Sign up or sign in to vote.
SELECT DISTINCT so.name FROM dbo.sysobjects so inner join .dbo.syscomments sc on so.id=sc.id WHERE so.xtype='P' AND sc.text like '%SearchString%'Much faster!
SELECT DISTINCT so.name 
FROM dbo.sysobjects so 
		inner join .dbo.syscomments sc on so.id=sc.id 
WHERE so.xtype='P' AND sc.text like '%SearchString%'

Much faster!

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Jaume Pascual

United States United States
No Biography provided

Comments and Discussions

 
Generalthank you very much PinmemberJaume Pascual26-Oct-11 21:14 
GeneralIn some rare cases this query will return in-correct result,... PinmemberBasavaraj P Biradar26-Oct-11 5:29 
In some rare cases this query will return in-correct result, because in syscomments table the text column is of type nvarchar(4000). If the sp text is exceeding this limit, sp text is split and stored in the multiple rows, and if the seach string is at the spliting position, then search will fail to return such stored procedure name.
 
Also in the query you are not getting the sp content and that is the reason you are assuming it is much faster. But when I executed below query, found that it is much slower and also leading to lot of logical reads also...
 
SET STATISTICS IO ON
SET STATISTICS TIME ON
 
SELECT DISTINCT so.name
FROM dbo.sysobjects so
inner join .dbo.syscomments sc on so.id=sc.id
WHERE so.xtype='P' AND sc.text like '%SearchString%'
 

SELECT OBJECT_NAME(object_id)
FROM sys.procedures
WHERE OBJECT_DEFINITION(object_id) LIKE '%SearchString%'
 
SET STATISTICS IO OFF
SET STATISTICS TIME OFF

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web01 | 2.8.140922.1 | Last Updated 25 Oct 2011
Article Copyright 2011 by Jaume Pascual
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid