2013-03-12 17 views

回答

3

我用很老了,從紅門免費工具。它被稱爲SQL Search。它可以通過指定名稱來搜索任何數據庫對象。不錯的是它實際上是SSMS插件,所以你可以在SSMS中使用它。我甚至使用它與SSMS 2012.

P.S.我不以任何方式隸屬於紅門

+0

完美!我很驚訝SQL Server Management Studio沒有相同的功能。 – 2013-03-12 21:08:14

+0

這也是我很久的願望。但只要此工具與SQL Server保持兼容,我就行了 – JackLock 2013-03-12 21:10:01

5

查詢是唯一我所知道的。我用這個:

SELECT DISTINCT 
    o.name AS Object_Name,o.type_desc 
    FROM sys.sql_modules  m 
     INNER JOIN sys.objects o ON m.object_id=o.object_id 
    WHERE m.definition Like '%WhateverIAmSearchingFor%' 

我會有興趣看看是否有人張貼一個更好的查詢,也許,我可以代替這個。我已經有很長一段時間了。

+0

我認爲如果where條件更改爲'm.definition Like'%WhateverIAmSearchingFor%**'** with space **' – 2013-03-12 19:51:02

+0

@RavindraGullapalli或者'' '+ m.definition +''Like'%WhateverIAmSearchingFor%'' - 匹配有或沒有空格... – 2013-03-12 19:54:12

2

眺望美景,函數,觸發器,存儲過程等:

SELECT DISTINCT SO.NAME 
    FROM SYSOBJECTS SO INNER JOIN 
     SYSCOMMENTS SC ON SC.ID = SO.ID 
WHERE SC.TEXT LIKE '%foo%' 
+0

我保留在SMSS上通過鍵盤快捷方式調用的存儲過程,這總是有用 – 2013-03-12 19:54:53

+1

只有syscomments的問題與與sql_modules相對的是syscomments.text是一個nvarchar(4000)列,而sql_modules.definition是一個nvarchar(max)。所以syscomments在理論上可以截斷大對象的一部分定義。 – 2013-03-12 20:32:53

相關問題