在对象内搜索(Sprocs,FUnctions等)

时间:2010-12-02 17:57:15

标签: sql-server tsql sql-server-2008

我目前正在使用sys.syscomments来查找存在特定参数的对象。是否有另一种方法/过程可以更容易地找到包含该参数或术语的对象?

谢谢,

取值

2 个答案:

答案 0 :(得分:3)

最好使用definition sys.sql_modules列。 sys.syscomments文本为nvarchar(4000),因此当定义分割多行时,您可能会遇到截断问题。

select quotename(s.name)+'.'+quotename(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
        inner join sys.schemas s 
            on o.schema_id = s.schema_id
    where m.definition like '%YourSearchText%'

答案 1 :(得分:1)

此外,如果您不是以编程方式执行此操作,Red Gate会为SSMS提供一个名为SQL Search的免费插件;我不确定是否有其他工具可用。