Sql 如何查找存储过程调用?
有没有办法找到在SQLServer2005数据库中调用存储过程的位置 我试着使用Find,但它不像在visualstudio中那样有效Sql 如何查找存储过程调用?,sql,sql-server-2005,stored-procedures,Sql,Sql Server 2005,Stored Procedures,有没有办法找到在SQLServer2005数据库中调用存储过程的位置 我试着使用Find,但它不像在visualstudio中那样有效 提前感谢。如果您需要按名称查找数据库对象(例如表、列、触发器)-请查看名为的免费红门工具,它会在整个数据库中搜索任何类型的字符串 因此,在您的情况下,如果您知道您感兴趣的存储过程的名称,只需在搜索框中输入该名称,SQL搜索将快速显示调用该存储过程的所有位置 对于任何DBA或数据库开发人员来说,它都是一个非常好的必备工具-我是否已经提到过它绝对是免费的,可以用
提前感谢。如果您需要按名称查找数据库对象(例如表、列、触发器)-请查看名为的免费红门工具,它会在整个数据库中搜索任何类型的字符串 因此,在您的情况下,如果您知道您感兴趣的存储过程的名称,只需在搜索框中输入该名称,SQL搜索将快速显示调用该存储过程的所有位置
对于任何DBA或数据库开发人员来说,它都是一个非常好的必备工具-我是否已经提到过它绝对是免费的,可以用于任何类型的用途???您可以在SQL Server Management Studio中尝试使用
查看依赖项
右键单击存储过程并选择查看依赖项。然而,我发现它并不总是100%准确 您可以创建一个“查找”SP
我使用这个来搜索数据库对象中的文本:
CREATE sp_grep (@object varchar(255))
as
SELECT distinct
'type' = case type
when 'FN' then 'Scalar function'
when 'IF' then 'Inlined table-function'
when 'P' then 'Stored procedure'
when 'TF' then 'Table function'
when 'TR' then 'Trigger'
when 'V' then 'View'
end,
o.[name],
watchword = @object
FROM dbo.sysobjects o (NOLOCK)
JOIN dbo.syscomments c (NOLOCK)
ON o.id = c.id
where c.text like '%'+@object+'%'
:
@雅特里克斯:什么都没有-齐普,齐克,娜达-尼恩特-瑞恩-杜图特-清楚吗?:-)听起来很贵,但我买得起。谢谢。这只是它的声音——它很快就会为自己买单的——说真的!:-)很好,我完全忘了红门。
select *
from sys.dm_sql_referencing_entities('[SchemaName].[SPName]', 'OBJECT');