如何在SQL Server 2005/2008中查找过程(或函数)的所有实例

Ram*_*amy 3 sql-server

我修改了一个程序,它现在需要更多的参数.如何找到调用该过程的每个位置,以便更新proc传递的参数个数?

我试过这个:

select * from syscomments where text like '%MODIFIED-PROCEDURE-NAME%'
Run Code Online (Sandbox Code Playgroud)

但我仍然发现其他地方的proc被称为此查询没有返回.

KM.*_*KM. 8

使用sys.sql_modules:

SELECT
    OBJECT_SCHEMA_NAME(m.object_id) + '.' + OBJECT_NAME(m.object_id)
    FROM sys.sql_modules  m
    WHERE m.definition like '%whatever%'
Run Code Online (Sandbox Code Playgroud)

sys.sql_modules.definition是nvarchar(max).其他类似的视图有nvarchar(4000)列,其中文本分为多行.


mar*_*c_s 5

获得红门SQL搜索 - 它很棒,它是免费的,它只是有效.它可以用来做你正在寻找的东西!抓住它 - 它的重量是黄金!

替代文字