用于获取SQL对象的所有SQL依赖项的SQL脚本

时间:2010-07-30 00:00:09

标签: sql-server-2008 dependencies

我有一个包含数千个对象的HUMONGOUS遗留数据库。我真的想删除113个表,但我需要获得一个需要修改或删除的依赖项的综合列表。有没有办法做到这一点? SSMS中的“视图依赖关系”UI将花费太长时间。我在想的是将113个表的名称放在一个表中,然后将其与sql_expression_dependencies连接以获取所有依赖项,然后递归直到我找到所有这些。这看起来效果很好,但它似乎没有返回依赖于我的表的TABLES的名称。它只返回SP,FUNCTION等。任何想法如何我可以扩充它以包括所有依赖类型?

1 个答案:

答案 0 :(得分:0)

识别单个SQL Server数据库中的所有“相关”对象 - 表,视图,过程,函数等。人。 (触发器,同义词,甚至更隐蔽的对象)是一件非常困难的事情(如果您使用动态SQL,则几乎不可能)。我见过的最好的解决方案是涉及数据库的第三方实用程序,我不得不想象,通过解析和检查所有内容来强制解决问题

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