我需要修改功能,我需要通过查看依赖于此功能的其他对象(例如存储过程,函数等)来了解可能产生的影响.现在,无论如何我能找到可以通过所有代码的这个吗?我有很多存储过程/函数.
在storedproc中有可能具有动态构造的查询,例如@SQL ='SELECT BLA BLA'
是否有可用于检测此问题的第三方工具?
谢谢
第三方工具
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%'
Run Code Online (Sandbox Code Playgroud)
假设您的动态SQL字符串并未奇怪地将函数名称拆分.