如何在SQL Server 2005中识别正在使用的存储过程或其他对象?

时间:2010-07-22 02:22:01

标签: sql-server-2005

我需要修改功能,我需要通过查看依赖于此功能的其他对象(例如存储过程,函数等)来了解可能会产生什么影响。现在,无论如何我可以找到可以通过所有这些代码?我有很多存储过程/函数。

在storedproc中有可能有动态构造的查询,例如@SQL ='SELECT BLA BLA'

是否有可用于检测此问题的第三方工具?

谢谢

1 个答案:

答案 0 :(得分:5)

第三方工具

实际上,

Redgate SQL RefactorDependency Tracker可能是最佳的。

Apex SQL Clean

自制解决方案

您可以使用sp_depends,但这取决于最新的依赖关系信息。

如果缺少相关信息,则对数据库中的所有对象运行sp_refreshsqlmodule可以更新此内容。

虽然这不会在动态SQL中找到您使用它的地方。你可以用。追踪这些。

select object_name(object_id) 
from sys.sql_modules 
where definition like '%Your Function Name%'

假设你的动态SQL字符串没有奇怪地拆分函数名。