15

ドキュメントなしで古いプロジェクトを維持する必要があり、多くのテーブルと関数、およびストアドプロシージャを含むデータベースがあります。テーブルとストアドプロシージャ間の依存関係のツリーを構築したいのですが、たとえば、このプロシージャはこれらのプロシージャを実行し、これらのテーブルを使用します。

  1. 私を助けることができるツールはありますか

  2. ない場合、そのようなアルゴリズムの開始点は何ですか?つまり、データベースからすべてのプロシージャのソースコードを取得し、それを解析してすべての「exec#」、「update#」、「insert into#」などを取得できるということです。そしてこの場合、この問題を解決するための最良の方法は何ですか(正規表現、またはいくつかの特別なアルゴリズム...)?

4

5 に答える 5

7

redgate のような有料ツールがありますが、必要に応じて、いつでもオブジェクトを右クリックして [依存関係を表示] を選択できます。

于 2012-05-18T12:42:12.550 に答える
5

以下に示すようにsys.dm_sql_referenced_entitiesを使用して、任意のオブジェクトのすべての依存関係を取得できます

SELECT * FROM sys.dm_sql_referenced_entities('dbo.myStoredProcedure', 'OBJECT')

于 2012-05-18T12:50:10.987 に答える