sql-server-2008 - 用于获取 SQL 对象上所有 SQL 依赖项的 SQL 脚本

标签 sql-server-2008 dependencies

我有一个包含数千个对象的巨大遗留数据库。我真的想删除 113 个表,但我需要获得一份完整的依赖项列表,这些依赖项也需要修改或删除。有什么办法吗? SSMS 中的“查看依赖项”UI 将花费太长时间。我想的是将 113 个表的名称放在一个表中,然后将其与 sql_expression_dependencies 连接起来以获取所有依赖项,然后递归直到找到所有依赖项。这似乎工作得很好,但它似乎没有返回依赖于我的表的表的名称。它只返回 SP、FUNCTION 等。知道如何扩充它以包括所有依赖类型吗?

最佳答案

识别单个 SQL Server 数据库中的所有“相关”对象——表、 View 、过程、函数等。阿尔。 (触发器、同义词,甚至更晦涩的对象)是一件非常困难的事情(如果您使用动态 SQL,则几乎不可能)。我见过的最好的解决方案是第三方实用程序,它们遍历数据库,我不得不想象,通过解析和检查一切来暴力解决问题。

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

关于sql-server-2008 - 用于获取 SQL 对象上所有 SQL 依赖项的 SQL 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3367876/

相关文章:

sql-server - SQL Server - 精确处理

java - 编译时IntelliJ无法在同一个包中找到类

java - 从 Maven 中的依赖项中排除文件夹

Java:在运行时检查类是否存在

sql - 如何加速涉及 count(distinct()) 的 SQL Server 查询

c# - 如何最小化锁定同时保持数据库相关操作是原子的

sql-server - Sql Server -- 去除非数字字符

sql-server-2008 - SQL Server 2008 中的递归同表查询

java - 如何解决JAR之间的循环依赖?

linux - .c 文件的注释改了,scons 还是要重新编译?