2011-03-07 33 views
2

我有一個巨大的SQL腳本,我需要分析。如果我能找到一種可以生成呼叫樹的方式,這將非常有幫助;即查看哪一個程序是從一個特定程序中調用的。基於Perl的示例在這裏,http://sqlblog.com/blogs/linchi_shea/archive/2009/10/23/find-the-complete-call-tree-for-a-stored-procedure.aspx 但我需要一個工具來分析文本文件(.sql文件),而不是存儲在數據庫中的過程。由於某些原因,我將無法在數據庫中創建整套程序並使用上述工具。我怎樣才能看到調用樹的SQL存儲過程脫機(實際上並沒有創建它們)

如果您遇到任何具有此功能的ide/tool,請回復。

回答

0

可能不是很有幫助,因爲它違反了你對「離線」sql文件,基於文本的解析工具的要求,但是想把這個redgate工具放在那裏,我曾經在過去取得了巨大的成功; RedGate Sql Dependency Tracker。它工作得很好,能很好地繪製出你的對象和它們的所有依賴關係(可以定義你想要映射的對象)。但它確實需要一個數據庫,其中包含所有現有對象才能正常工作。 :(

如果你找不到一個那裏,我想你可以做一些腳本/宏文本解析,如果所有的過程調用都很容易定義和可預測的文件AutoHotKey是一個偉大的通用腳本工具/框架,有幾個基於SQL腳本在那裏...只是一個不完全像你正在尋找的,我都看見了。

+0

感謝MikeCov。這似乎是沒有現成的解決方案,以做處理文本文件。另外爲了補充說明,我想在MS SQL Server管理工作室中有一個依賴關係樹查看器,你可以右鍵點擊對象瀏覽器中的任何程序並選擇相應的選項。 – dbza 2011-03-26 19:14:31

+1

直到你剛纔提到,但管理工作室也有「生成腳本」任務來自數據庫級別,可能對此有用。在對象瀏覽器中的數據庫上,右鍵單擊 - > Tasks-> Generate Scripts ...;那裏有一個選項「爲從屬對象生成腳本」。仍然不是所有的方式,但至少你可以用這種方式將所有的依賴關係存儲在一個文件中。我想知道這些第三方工具是否使用相同的API /函數調用來生成它們的依賴關係映射。 :)祝你好運。 – MikeCov 2011-03-27 06:47:13

相關問題