用于获取SQL对象上的所有SQL依赖关系的SQL脚本

问题描述:

我有一个有数千个对象的人工遗留数据库。我真的想要删除113个表,但我需要获得需要修改或删除的依赖关系的完整列表。有没有办法做到这一点? SSMS中的“视图依赖”UI将会耗费太长时间。我在想的是将113个表的名称放在一个表中,然后将它与sql_expression_dependencies结合起来以获得所有的依赖关系,然后递归直到我找到它们。这似乎很好,但它似乎并没有返回依赖于我的表格的表名称。它只返回SP,FUNCTION等,任何想法如何扩充这个以包含所有的依赖类型?用于获取SQL对象上的所有SQL依赖关系的SQL脚本

识别单个SQL Server数据库中的所有“相关”对象 - 表,视图,过程,函数等。人。 (触发器,同义词,甚至更晦涩的obejcts)是一件非常困难的事情(如果你使用动态SQL,除了不可能的事情)。我见过的最好的解决方案是通过数据库进行访问的第三方公用程序,我必须想象,通过解析和检查的所有内容来暴力破解问题。

我在SQL 7.0/2000天(“SQL Cast”)中使用了一个非常令人印象深刻的工具,但可惜它似乎不再存在。 RedGate目前有这样的工具,SQL Dependency Tracker,但我没有使用它。