是否有人知道在SQL Server中用于文本搜索的脚本?我想从SQL Server中的所有存储过程中搜索一个文本,有谁知道我应该使用什么脚本?
答案 0 :(得分:10)
INFORMATION_SCHEMA.ROUTINES或syscomments 不可靠。
两者的文本字段都是nvarchar(4000)(仅限多行syscomments)。因此,您的搜索文本可能会丢失在syscomments的边界上,或者从未找到INFORMATION_SCHEMA.ROUTINES
sys.sql_modules
.definition是nvarchar(max)
SELECT
OBJECT_NAME(object_id)
FROM
sys.sql_modules
WHERE
definition LIKE '%mytext%'
编辑,2011年10月
将此答案更新。
Red Gate SQL Search是一个非常有用的免费 SSMS插件。
答案 1 :(得分:2)
更新:有几种等效的方法。这是一个:
SELECT
OBJECT_NAME(object_id)
FROM
sys.sql_modules
WHERE
Definition LIKE '%searchtext%'
AND OBJECTPROPERTY(object_id, 'IsProcedure') = 1
答案 2 :(得分:1)
您也可以使用:
select distinct object_name(id) from sys.syscomments where text like '%SearchTextHere%'
答案 3 :(得分:0)