代码之家  ›  专栏  ›  技术社区  ›  Tom H

SQL Server用于填充sys.sql_依赖项的代码是否可用?

  •  1
  • Tom H  · 技术社区  · 14 年前

    我当前的客户正在努力处理他们的发布过程。It's a bit complex and a little uncontrolled. 我正在尝试解决流程问题,但同时,如果我能建立一个实用程序,它可以扫描它们的脚本,查找依赖项,并生成这些脚本需要运行的顺序,那将是很有帮助的。

    我认为,与其重新设计方向盘,不如尝试找到SQL Server用来填充sys.sql_依赖项(1)的代码(现在它在当前版本中实际上相当准确)。

    此代码是作为隐藏的系统存储过程/触发器提供的,还是在某个地方有一些不可访问的二进制代码?

    为了清楚起见,我在寻找填充系统表的代码,而不是访问它们以确定依赖性的代码。换句话说,当我执行“创建过程…”时运行的代码。

    如果有开放源码或者第三方应用程序已经有了这个功能,那么我也会对此感兴趣。



    (1)从技术上讲,sys.sql_dependencies是对sys.sysmultiobjrefs的一个视图,所以最终我要查找填充该表的代码。

    2 回复  |  直到 10 年前
        1
  •  1
  •   Dave Markle    14 年前

    我认为这很难接近。

    当sys.dependencies失败时,我尝试 Red-Gate's Dependency Tracker 非常高兴。虽然不是开源的,但却是一个非常好的工具。

        2
  •  1
  •   Martin Smith    14 年前

    另一个可以扫描源代码文件以查找依赖项的第三方工具是 Apex SQL Clean

    这将向您显示引用现有数据库对象的脚本,但对脚本本身的任何分析都没有帮助(例如,如果一个create语句位于一个脚本中,则应先运行该脚本,然后再运行引用该脚本的另一个脚本)。