sqlserver中查找所有包含了某个文本的存储过程
时间:2023-01-11 10:45:47|栏目:MsSql|点击: 次
上图说明吧。
上图存储过程调用了mup_GetA(我把和项目相关的命名都擦除掉了)
上图通过sqlserver 图形管理器自带的功能查看依赖于mup_GetA的对象。
结果有点雷人,居然没有列出mup_GetB 来(我使用的是sql server 2005)
下面是解决方法
方法1:
打开数据库管理界面->右击数据库->tasks->Generate Scripts->.....
导出所有存储过程到文件中,然后ctrl+F查找
方法2:
SELECT ROUTINE_NAME, ROUTINE_DEFINITION
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_DEFINITION LIKE '%text%'
AND ROUTINE_TYPE='PROCEDURE'
将text替换成你要查找的内容
方法3:
select name
from sysobjects o, syscomments s
where o.id = s.id
and text like '%text%'
and o.xtype = 'P'
将text替换成你要查找的内容
完毕
上图存储过程调用了mup_GetA(我把和项目相关的命名都擦除掉了)
上图通过sqlserver 图形管理器自带的功能查看依赖于mup_GetA的对象。
结果有点雷人,居然没有列出mup_GetB 来(我使用的是sql server 2005)
下面是解决方法
方法1:
打开数据库管理界面->右击数据库->tasks->Generate Scripts->.....
导出所有存储过程到文件中,然后ctrl+F查找
方法2:
复制代码 代码如下:
SELECT ROUTINE_NAME, ROUTINE_DEFINITION
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_DEFINITION LIKE '%text%'
AND ROUTINE_TYPE='PROCEDURE'
将text替换成你要查找的内容
方法3:
复制代码 代码如下:
select name
from sysobjects o, syscomments s
where o.id = s.id
and text like '%text%'
and o.xtype = 'P'
将text替换成你要查找的内容
完毕