我该如何查找包含特定文本的存储过程?虽然我知道这种搜索的最佳位置是通过源代码控制工具进行,但在数据库中是否有其他方法呢?
我该如何查找包含特定文本的存储过程?虽然我知道这种搜索的最佳位置是通过源代码控制工具进行,但在数据库中是否有其他方法呢?
SELECT ROUTINE_NAME, ROUTINE_DEFINITION
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_DEFINITION LIKE '%your text here%'
AND ROUTINE_TYPE='PROCEDURE'
SELECT DISTINCT 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
WHERE m.definition Like '%Serach_Text%'
您可以搜索sys.sql_modules。定义包含存储过程的文本。该视图包含存储过程、视图、UDF等。要限制自己只查找存储过程,应与sys.procedure上的object_id关联。