Yat*_*rix 7 sql stored-procedures sql-server-2005
有没有办法可以找到在SQL Server 2005数据库中调用存储过程的位置?
我尝试使用Find,但这不像在Visual Studios中那样工作.
提前致谢.
mar*_*c_s 12
如果您需要按名称查找数据库对象(例如表,列,触发器) - 请查看名为SQL Search的免费 Red-Gate工具,它会执行此操作 - 它会在整个数据库中搜索任何类型的字符串.
因此,在您的情况下,如果您知道您感兴趣的存储过程是什么 - 只需将其键入搜索框,SQL搜索将快速显示调用该存储过程的所有位置.


对于任何DBA或数据库开发人员来说,它都是必备工具 - 我是否已经提到它可以完全免费用于任何类型的使用?
您可以尝试使用View DependenciesSQL Server Management Studio.
右键单击存储过程并选择View Dependencies.但是我发现它并不总是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+'%'
Run Code Online (Sandbox Code Playgroud)