Tsql 如何脱机查看SQL存储过程的调用树(而不实际创建它们)

Tsql 如何脱机查看SQL存储过程的调用树(而不实际创建它们),tsql,tree,call,Tsql,Tree,Call,我有一个巨大的SQL脚本,我需要分析。如果我能找到一种生成调用树的方法,那将非常有帮助;即,查看从特定过程调用的所有过程。这里是一个基于perl的示例, 但是我需要一个工具来分析文本文件.sql文件,而不是数据库中存储的过程。由于某些原因,我将无法在数据库中创建整个过程集并使用上述工具 如果您遇到任何具有此功能的ide/工具,请回复。可能没有太大帮助,因为它违反了您对脱机sql文件、基于文本的解析工具的要求,但希望将我过去成功使用的redgate工具扔到那里。它工作得很好,很好地映射出您的对象及

我有一个巨大的SQL脚本,我需要分析。如果我能找到一种生成调用树的方法,那将非常有帮助;即,查看从特定过程调用的所有过程。这里是一个基于perl的示例, 但是我需要一个工具来分析文本文件.sql文件,而不是数据库中存储的过程。由于某些原因,我将无法在数据库中创建整个过程集并使用上述工具


如果您遇到任何具有此功能的ide/工具,请回复。

可能没有太大帮助,因为它违反了您对脱机sql文件、基于文本的解析工具的要求,但希望将我过去成功使用的redgate工具扔到那里。它工作得很好,很好地映射出您的对象及其所有依赖项,这些依赖项可定义为您想要映射的内容。但它确实需要一个包含所有现有对象的数据库才能正常工作:


如果找不到,我想如果文件中的所有过程调用都很容易定义和预测,您可以进行一些脚本/宏文本解析。AutoHotKey是一个很好的通用脚本工具/框架,并且有一些基于sql的脚本……只是没有一个与我看到的完全相同。

可能没有多大帮助,因为它违反了您对脱机sql文件、基于文本的分析工具的要求,但我想把我过去成功使用的redgate工具扔出去。它工作得很好,很好地映射出您的对象及其所有依赖项,这些依赖项可定义为您想要映射的内容。但它确实需要一个包含所有现有对象的数据库才能正常工作:


如果找不到,我想如果文件中的所有过程调用都很容易定义和预测,您可以进行一些脚本/宏文本解析。AutoHotKey是一个非常好的通用脚本工具/框架,目前有一些基于sql的脚本……只是没有一个与我所看到的完全相同。

谢谢MikeCov。似乎没有现成的解决方案可以在文本文件中进行处理。除此之外,我还发现MS SQL Server management studio中有一个依赖关系树查看器,您可以右键单击对象浏览器中的任何过程并选择相应的选项。直到您提到这一点,我才意识到,但是,ManagementStudio还可以从数据库级别获得“生成脚本”任务,这在这方面可能很有用。在对象浏览器中的数据库上,右键单击->任务->生成脚本。。。;其中有一个选项可以为依赖对象生成脚本。仍然不是所有的方式,但至少你可以在一个文件中获得所有的依赖关系。我想知道这些第三方工具是否使用相同的API/函数调用来生成它们的依赖关系映射:祝你好运。谢谢米科科夫。似乎没有现成的解决方案可以在文本文件中进行处理。除此之外,我还发现MS SQL Server management studio中有一个依赖关系树查看器,您可以右键单击对象浏览器中的任何过程并选择相应的选项。直到您提到这一点,我才意识到,但是,ManagementStudio还可以从数据库级别获得“生成脚本”任务,这在这方面可能很有用。在对象浏览器中的数据库上,右键单击->任务->生成脚本。。。;其中有一个选项可以为依赖对象生成脚本。仍然不是所有的方式,但至少你可以在一个文件中获得所有的依赖关系。我想知道这些第三方工具是否使用相同的API/函数调用来生成它们的依赖关系映射:祝你好运。