2010-04-12 72 views
5

我已經交出了使用SQL Server 2005數據庫的C#代碼庫。我想概述哪些數據庫表和程序可以通過代碼中的哪些方法體訪問;在表格的情況下,我也想知道訪問類型(CREATE,DROP,SELECT,INSERT,UPDATE或DELETE)。搜索這些關鍵字和表/過程名稱的字符串會讓我走很長的一段路,除非代碼很少使用裸露的SQL,大多數情況下使用DataSets和DataAdapter,誰知道還有什麼。從.NET代碼中列出數據庫訪問的工具

這已經不是我第一次過這種情況(具有不同的語言和的DBMS)。

有哪些工具可以幫助我完成此任務?你能推薦一個改進我的字符串搜索想法嗎?

PS:有another question on SQL Server dependencies一些相關的答案。

+0

我不能說我推銷產品,但有你檢出Redgate的SQL文檔? – Avitus 2010-04-12 14:38:57

+0

+1我和你在一起。我已經繼承了一個應用程序,這個應用程序已經多年傳遞,並且有數百個表格,其中估計只有一半是實際使用的。但是,哪一半? – egrunin 2010-04-12 14:40:58

+0

@Avitus:我在他們的網站上看到一些產品,但沒有一個能夠解決我的問題。他們的「SQL Doc」和「Dependency Tracker」似乎只查看DBMS中的依賴關係。 – reinierpost 2010-04-12 14:52:49

回答

2

sql server profiler。它會記錄每一個呼叫與程序文本一起......然後你就可以將追蹤信息導出到在其上的表,查詢:-)

http://msdn.microsoft.com/en-us/library/ms187929.aspx

+1

嗯...非常有幫助,謝謝,但我想有一些我不需要運行應用程序的東西。即使我啓動並運行,我也無法知道如何運行它以覆蓋那裏的所有數據庫訪問。 – reinierpost 2010-04-12 15:06:41

+0

@reinierpost:我明白你爲什麼想這樣做,但那不是真的可能。 (這相當於暫停問題) – SLaks 2010-04-12 15:18:15

+0

@SLaks:只有當你想要一個完美的解決方案。我對任何能夠朝着正確方向發展的好東西感到高興。 – reinierpost 2010-04-12 15:30:04