SQL Server ストアドプロシージャ マップ:呼び出し関係の可視化ツール

Tool

概要

「sqlserver-stored-procedure-map」は、SQL Serverのストアドプロシージャ間の呼び出し関係を解析し、グラフィカルに可視化するオープンソースツールです。複雑に絡み合うストアドプロシージャの依存関係を明確に示すことで、開発者やデータベース管理者がコードの理解やメンテナンスを効率的に行えるよう支援します。C#で実装されており、SQLスクリプトの解析から呼び出し関係の抽出、インタラクティブなグラフ表示までを一貫して提供します。

GitHub

リポジトリの統計情報

  • スター数: 3
  • フォーク数: 0
  • ウォッチャー数: 3
  • コミット数: 3
  • ファイル数: 4
  • メインの言語: C#

主な特徴

  • SQL Serverストアドプロシージャのスクリプトを正確に解析し、呼び出し元・呼び出し先の関係を抽出
  • 呼び出し関係をインタラクティブなグラフとして表示し、ユーザーがノードの拡大・縮小や詳細情報の確認が可能
  • プロシージャのパラメータ情報も取得し、依存関係の理解に役立てられる
  • 軽量かつシンプルな構成で、導入やカスタマイズが容易

技術的なポイント

本プロジェクトは、SQL Serverのストアドプロシージャ群の複雑な依存関係を可視化するために、C#で構築された解析・表示ツールです。まず、SQLスクリプトを解析する「SqlServerProcedureParser」モジュールが中心で、正規表現やパーサー的手法を用いて、ストアドプロシージャの定義や呼び出し文(EXEC、sp_executesqlなど)を抽出します。特に、呼び出し先のプロシージャ名の特定や、パラメータの解析にも対応しているため、単なる呼び出し関係だけでなく、引数の依存も把握可能です。

解析結果は、ノード(プロシージャ)とエッジ(呼び出し関係)で構成されたグラフデータとして内部に保持されます。これを「graph-viewer」モジュールに渡し、ユーザーが操作できるインタラクティブな可視化画面が提供されます。グラフはズームやパン、ノードの展開/折りたたみができ、複雑な依存関係も視覚的に追いやすい設計です。プロシージャ間の関係を直感的に理解できることが、開発者の保守性向上に寄与します。

また、本ツールは軽量でシンプルな構成を特徴とし、SQL Serverの環境に依存せず、ローカルのSQLスクリプトファイルを対象に解析可能です。これにより、既存の開発環境に影響を与えず導入できる点もメリットです。C#言語での実装により、Windows環境との親和性が高く、Visual Studioとの連携や拡張も容易に行えます。

さらに、リポジトリには最低限のファイル数で構成されており、拡張やカスタマイズのベースとして活用しやすい構造になっています。OSSとしての公開により、ユーザーからの改良提案や機能追加も期待でき、実用的なSQL Server管理ツールの一翼を担う可能性があります。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitignore: Git管理対象外のファイルを指定
  • SqlServerProcedureParser: SQLスクリプト解析のコアロジックを含むディレクトリ
  • graph-viewer: 呼び出し関係のグラフ表示用モジュールを含むディレクトリ
  • readme.md: プロジェクト概要や使い方を記載したドキュメントファイル

まとめ

SQL Serverのストアドプロシージャの依存関係を簡単に可視化できる実用的なツール。

リポジトリ情報: