|
1
4
Redgate有一种相当昂贵的产品叫做 SQL Dependency Tracker 这似乎满足了要求。 |
|
|
2
6
比“依赖关系跟踪器”更便宜的解决方案是数据字典表sys.sql_dependencies,从中可以从数据字典查询此数据。Oracle有一个数据字典视图,具有类似的功能,称为dba_依赖项(加上等效的用户_u和所有_u视图)。使用其他数据字典表(sys.tables/dba_tables)等,可以生成对象依赖关系报告。 如果您特别感兴趣,可以使用递归查询(OracleConnect By或SQL Server公共表表达式)来构建完整的对象依赖关系图。 下面是一个有关sys.sql_依赖项的递归CTE示例。它将返回每个依赖项及其深度的条目。对于每个依赖关系,项可以多次发生,可能在不同的深度发生。我没有一个可供使用的Oracle实例来构建DBA依赖关系的“按连接查询”,因此任何具有编辑权限、时间和专业知识的人都可以对这个答案进行注释或编辑。
还附注
我要把这个向社区开放。可以方便地访问正在运行的Oracle实例的人在这里通过递归查询发布连接吗?请注意,这是特定于SQL Server的,问题所有者已经明确表示他正在使用Oracle。我没有运行中的Oracle实例来开发和测试任何东西。 |
|
|
3
3
我认为 Red Gate Dependency Tracker mentioned by rpetrich 是一个不错的解决方案,它很好地工作,红门有30天的审判(理想情况下足够长的时间,你做你的取证)。 我也会考虑隔离系统并运行 SQL事件探查器,它将向您显示表上的所有SQL操作 . 这通常是 构建序列图的良好起点,或者您选择记录这些代码 . 祝你好运! |
|
|
4
1
Redgate SQL文档生成的文档包含交叉引用的依赖关系信息。例如,对于每个表,它列出引用该表的视图、存储过程、触发器等。 |
|
|
5
1
存储过程在哪个数据库中?Oracle,SQL Server,还有别的吗? 基于注释编辑: 如果你使用的是Oracle,那么看看 TOAD . 我在其中使用了一个称为代码路线图的特性,它允许您以图形方式显示数据库中的PL/SQL跨部门。它可以在仅代码模式下运行,显示运行时调用堆栈依赖项,或者代码加数据模式,其中它还显示被代码触摸的数据库对象(表、视图、触发器)。 (注意-我是一个蟾蜍用户,没有从中受益) |
|
|
6
1
这并不是很深入或彻底,但我认为如果您使用的是MS SQL Server或Oracle(也许Nigel可以帮助提供一个pl-sql示例),那么Nigel正在做一些事情。这只需要3个深度依赖项,但可以修改为需要的深度。这不是最漂亮的东西…但它很实用…
|
|
|
7
1
How to find the dependency chain of a database object (MS SQL Server 2000(?)+) 作者:雅各布·塞巴斯蒂安
|
|
|
8
0
逆向工程的最佳工具是Apex。太神奇了。它甚至可以跟踪到.NET程序集并告诉您在哪里使用proc。它是迄今为止同类产品中最深的。Redgate有很多其他工具,但在本例中没有。 |