Visual Studio 2010 Transact SQL 静的解析機能 | あとはよしなに

Visual Studio 2010 Transact SQL 静的解析機能

次期 Visual Studio 2010のUltimate EditionおよびPremium Editionにはこれまで「Visual Studio Team System 2008 Database Edition」であれば利用できたけど、Edition違いで使えなかった機能がたくさん追加されている。


そのうちの1つ、Transact SQL 静的解析機能


ルールの総数は11でまだまだ数は足りないように見えるけど、これまですげぇ能力ある人の聖域みたいになっていたStored Procedureにチェックをかけることができるのがうれしい。


ルールの詳細はこちら。

<http://msdn.microsoft.com/en-us/library/dd172133(v=VS.100).aspx >


この機能を利用するためには、まずデータベースプロジェクトにデータベース定義を取り込んでおく必要がある。このデータベース取り込み後にデータベースに登録したクエリはどうやらチェックの対象外になるようだ。また、SR0014なんかは「Create Tableクエリ」と「Insertクエリ」が両方ともプロジェクト内に取り込まれていないと発動しない模様。


利用したイメージはこんな感じ。

これはpubsデータベースを対象に静的解析をしたもので、pubsがSQL Server 2000用のデータベースサンプルであることから、いくつか互換性の警告が出ているのが分かる。まぁSQL Server 2008でSQL Server 2000用のデータベースを使ったらそりゃあ互換性の1つや2つ問題になるよね(笑)



あとはよしなに


この機能のいいところはVisual Studio 2005の開発案件なんかでも使えるところだと思う。というのも、ストアド、ビュー、トリガなど、「IDEで作るソースコードとは独立に扱うことができるもの」が、この機能の対象だからである。とりあえず静的解析してみようと思うなら、捨てマシンにVisual Studio 2010をインストールし、静的解析を実行してみて、その結果を反映させれば良い(注:ライセンスの問題はちゃんとクリアしてね)。SR0013など「明らかに不具合のもと」なんていうものを見つけることができるのも良いと思う。


これは効果の大きさはさほどでもないかも知れないが、既存スタイルに悪影響が無いという点で「アリな機能」だと思う。