我需要修改功能,我需要通过查看依赖于此功能的其他对象(例如存储过程,函数等)来了解可能会产生什么影响。现在,无论如何我可以找到可以通过所有这些代码?我有很多存储过程/函数。
在storedproc中有可能有动态构造的查询,例如@SQL ='SELECT BLA BLA'
是否有可用于检测此问题的第三方工具?
谢谢
答案 0 :(得分:5)
第三方工具
实际上,Redgate SQL Refactor或Dependency Tracker可能是最佳的。
自制解决方案
您可以使用sp_depends
,但这取决于最新的依赖关系信息。
如果缺少相关信息,则对数据库中的所有对象运行sp_refreshsqlmodule
可以更新此内容。
虽然这不会在动态SQL中找到您使用它的地方。你可以用。追踪这些。
select object_name(object_id)
from sys.sql_modules
where definition like '%Your Function Name%'
假设你的动态SQL字符串没有奇怪地拆分函数名。