2010-12-14 61 views
6

我希望能夠繪製一個存儲過程的調用圖。我對每一個細節都不感興趣,而且我不關心動態SQL(儘管檢測它並跳過它可能會很酷,或者將它標記爲這樣)。是否有免費的工具可以幫助可視化SQL Server 2008 R2中的存儲過程的邏輯?

我希望該工具能夠生成樹給我的服務器名稱,數據庫名稱,存儲過程名稱,「呼叫樹」,其中包括:

  • 父存儲過程。
  • 被調用爲調用方子進程的每個其他存儲過程。
  • 每個正在修改(更新或刪除)的表作爲存儲過程的子進程。

希望我很清楚自己在做什麼;如果沒有 - 請問。如果沒有可以做到的工具,那麼我想自己寫一個。 Python 2.6是我的選擇語言,我希望儘可能使用標準庫。有什麼建議麼?

編輯:爲了賞金的目的警告:SQL語法是COMPLEX。我需要一些可以解析各種SQL 2008的東西,即使它看起來很愚蠢。沒有角落案例禁止:)

編輯2:如果我所缺少的是圖形,我會好的。

回答

7

**我剛剛意識到你可能正在尋找一個可以爲你做這個的Python庫。如果是這樣,我爲這個啞巴答案抱歉哈哈,但是如果你試圖想象一個數據庫,所以你可以執行維護,那麼我的答案是一樣的:) **

這不是免費的,但我向你保證SQL來自RedGate的依賴追蹤器非常值得。它產生像你描述,讓你看到所有的參與者在每一道工序,關鍵,視圖,觸發器等真棒軟件的圖形: http://www.red-gate.com/products/sql-development/sql-dependency-tracker/

我知道你說的自由,但我是在同和幾年前一樣,並且看起來相當有點可以完成這項工作的東西,不管有沒有。直到我找到這個軟件,沒有其他人可以做我所需要的。如果您需要定期執行此類操作,我強烈建議您爲此工具找到資金。

+0

它需要多少錢?他們有試用期嗎? – 2010-12-22 15:15:55

+0

〜$ 300。 14天免費試用。我還沒有找到一個能夠做到這一點的其他工具。我發現一些可以通過遵循表之間的關係來生成圖表,但那是他們停止的地方。沒有其他工具會真正從視圖/存儲過程/函數中讀取代碼來構建依賴關係圖,這正是我所需要的,因爲我正在考慮刪除已經開始混亂我的數據庫的重複視圖,SP等。這一款適用於服務器上幾乎所有類型的對象。 – 2010-12-24 19:50:17

+0

我看到你仍然在尋找這個問題的答案。顯然,依賴追蹤器可以導出爲XML。雖然我不能確定xml是什麼樣子,但另一個用戶似乎找到了獲得獨特依賴關係的解決方案:http://www.red-gate.com/messageboard/viewtopic.php?p=25396 #25396他們的支持還提到出口PDF格式的依賴列表用於報告目的:http://www.red-gate.com/supportcenter/Content?p=SQL%20Dependency%20Tracker&c=SQL_Dependency_Tracker/help/2.4/SDT_ExportingDependencyList.htm&toc = SQL_Dependency_Tracker/help/2.4/toc279529.htm – 2010-12-27 01:16:36

0

您可以使用SQL Server Management Studio顯示實際或估計的查詢計劃。它提供了一個可以遵循的圖形輸出。這裏有一個小底漆:http://www.mssqltips.com/tip.asp?tip=1873

更新:

您可以使用SQL Server集成服務(SSIS)以圖形的方式來創建數據的提取物。您還可以使用Microsoft Biztalk Server創建複雜的圖形佈局,以提取數據。最後,您可以使用Microsoft的WF以圖形化方式創建自動化流程,該流程可以執行與Biztalk類似的功能。唉,這些都不是免費的:(如果你有一個MSDN訂閱他們:)

BizTalk映射: http://geekswithblogs.net/images/geekswithblogs_net/Chilberto/WindowsLiveWriter/BizTalkMapComparisonbetweenTableLoopinga_B5B9/image_6.png

+0

謝謝,這看起來像一個開始。這個問題有一個賞金,所以我想問 - 如何使用某種腳本從查詢執行計劃中自動提取我需要的數據?有沒有辦法自動運行查詢執行計劃? – 2010-12-26 17:39:21

+0

嗯,查詢執行計劃並非真正被設計成數據提取工具,它實際上用於向您顯示SQL服務器運行查詢時採取的步驟。您可以保存執行計劃(右鍵單擊菜單)。 http://msdn.microsoft.com/en-us/library/ms190646.aspx – 2010-12-26 23:38:44

0

SQL談判代表Pro擁有在www.aphilen.com免費的精簡版的版本 全版本是唯一可以找到所有依賴關係並且在查找到前10個子依賴關係後不會停止的產品。其他產品在有循環引用時就會失敗,只是掛起來,這些人已經把它覆蓋了。另外一個很好的特點是可以向圖表添加註釋以便可以輕鬆分發。 完整版本並不便宜,但爲我們節省了大量的時間,通常需要確定複雜的數據庫過程。頂點也提供了一個整潔的工具

相關問題