【问题标题】:SQL script to get ALL SQL dependencies on a SQL object获取 SQL 对象上所有 SQL 依赖项的 SQL 脚本
【发布时间】:2010-07-30 00:00:09
【问题描述】:
我有一个包含数千个对象的庞大遗留数据库。我真的很想删除 113 个表,但我需要获取需要修改或删除的依赖项的完整列表。有没有办法做到这一点? SSMS 中的“查看依赖项”UI 将花费太长时间。我正在考虑将 113 个表的名称放在一个表中,然后将其与 sql_expression_dependencies 连接以获取所有依赖项,然后递归直到找到所有依赖项。这似乎工作得很好,但它似乎没有返回依赖于我的表的 TABLES 的名称。它只返回 SP、FUNCTION 等。知道如何扩充它以包含所有依赖类型吗?
【问题讨论】:
标签:
sql-server-2008
dependencies
【解决方案1】:
识别单个 SQL Server 数据库中的所有“相关”对象——表、视图、过程、函数等。人。 (触发器、同义词,甚至更晦涩的对象)是一件非常困难的事情(如果您使用动态 SQL,这几乎是不可能的)。我见过的最好的解决方案是浏览数据库的第三方实用程序,我不得不想象,通过解析和检查所有内容来暴力破解问题。
我在 SQL 7.0/2000 天使用了一个非常令人印象深刻的工具(我记得是“SQL Cast”),但可惜它似乎不再存在了。 RedGate目前有这样一个工具,SQL Dependency Tracker,但是我没有用过。