SQL Server 2005の登場がターニングポイント
「SQL Server 2000までは、SQL Serverはブラックボックスだと言われることもありました。たしかにSQL Server 4.2のころは、内部情報を取得しにくくチューニング作業も大変でした」---日本マイクロソフト プレミアフィールドエンジニアリング プレミアフィールドエンジニアの平山 理氏は、当時のSQL Serverはデータベースの中で何が起こっているかの情報を得るのが難しく、パフォーマンスを改善させたいエンジニアにかなりの苦労を強いていたと振り返る。
たとえば、ある程度の期間運用を続けたデータベースが次第に十分な性能を発揮しなくなり、最終的には処理が遅くなりハングアップ状態に陥ることがある。SQL Server 2000以前は、遅くなった原因がわからなければ、最後はWindowsプロセスのダンプを取得しそれを解析するといった作業が必要だったのだ。
ターニングポイントとなったのが、SQL Server 2005から導入された動的管理ビューと動的管理関数だ。これらが実装されたことで、SQL Serverが起動されてからどのようにリソースを利用し、内部の状態が今どのようになっているかが簡単にわかるようになった。
「いまでは、"Select xxx from 動的管理ビュー"といったSQLで簡単に内部情報を取得でき、短時間で問題がどこにあるかを見つけられます」(平山氏)
この機能が実装されたことで、Oracleのエンジニアが行っているのと同様な方法でチューニングができるようになった。とはいえ、「かつてSQL Server 6.5などを利用し、痛い目にあったことのあるOracleエンジニアは、こういった新しい機能に馴染みがありません。そのため、いまだにSQL Serverを使いたくないという人もいます」。大きく進化しているにもかかわらず、触れることなしに新しいSQL Serverを理解してもらえないのは、極めて残念だと平山氏は言う。