SQL Server Server 2005.我正盯着一个拥有500多个存储过程的数据库,并试图收集它们如何与数据交互的复杂性 - 特别是关于它们如何插入/修改数据.我希望找到一个搜索"或"找到"查看实际过程内容的功能.这样,我可以搜索所有使用some_table_name执行任何操作的过程.SQL Management的基本查找功能Studio查看已打开的文件,如果我已经打开了sproc,则只在查找文件中查找内容,即使只有在...\Local Settings\Temp\~vs1011.sql临时类型文件中也是如此.
截至目前,我知道进入底层程序的唯一方法是右键单击并选择"修改"(或脚本存储过程为=>创建或更改).是否有更快/更简单的方法来搜索/检查所有的sprocs?
以下代码似乎没有搜索整个例程定义.
代码块1:
select top 50 * from information_schema.routines
where routine_definition like '%09/01/2008%' and specific_Name like '%NET'
Run Code Online (Sandbox Code Playgroud)
代码块2:
SELECT ROUTINE_NAME, ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_DEFINITION LIKE '%EffectiveDate%' AND ROUTINE_TYPE='PROCEDURE' and ROUTINE_NAME like '%NET'
Run Code Online (Sandbox Code Playgroud)
我知道在大多数情况下这些SQL都可以工作.问题是这样的:当我为"EffectiveDate"运行它时,它在一些存储过程中被埋在~800行,这些存储过程从未出现在结果中.就像"喜欢"只搜索如此深刻.
有关修复此问题的提示吗?
我想在ENTIRE存储过程中搜索指定的文本.
谢谢!
sql sql-server stored-procedures sql-server-2005 sql-server-2008