SQL Server 2005がリリースされてからまだあまり時間がたっていないので,SQL Server 2008を導入する人はそれほどいないだろう,という意見がある。だが,筆者はその主張には断固反対だ。SQL Server 2008に注目し,リリースされたらすぐに手に入れようと楽しみにしているカスタマは,大勢いる。

 彼らは,SQL Server 2008がもたらすBI(Business Intelligence)機能の強化を必要としているのだ。大幅に強化されているのは,Reporting Services(レポーティング・サービス),Database Services(データベース・サービス),運用管理の三つである。カスタマの多くが,これらの強化された機能に購買意欲をそそられるに違いない。

 最初に,レポーティング・サービスのSQL Server Reporting Services (SSRS)について紹介しよう。SQL Server 2008のSSRSは,新しいスタンドアロンのReport Designerを搭載しているうえに,データ表示形式としてTablixを導入しており,以前のようにMicrosoft IISを必要としない。過去のSQL Serverリリースでは,Microsoft Visual Studio 2005またはBusiness Intelligence Development Studioが無いとSSRS Report Designerを使えないという仕様に関して,誰もが(例えば,エンドユーザーやCIO,業界アナリスト)彼らをののしっていた。しかし,SQL Server 2008はスタンドアロンのReport Designerを提供することで,私たちをその要件から解放してくれるのだ。

 新しいReport Designerでは,Tablixを使ったリポート作成が可能になっている。Tablixは,タブの柔軟性とクロスタブ機能を組み合わせた,新しいデータ表示形式だ。Tablixは,テーブルやマトリックス,リストの代わりに,それぞれ対応するグループの集合を持つクロスタブ・セクションを横に並べて構築する機能を提供する。マトリックスの機能に限界を感じたことのある人は,できるだけ早くSQL Server 2008に移行するといいだろう。

 SSRS 2008がIISから切り離されたことは,SSRSを他のアプリケーション(とそのセキュリティ)やSharePointと上手く連携させたいと考えている人にとっては,非常に好都合だろう。SSRSは,HTTP.sysを使うようになった。これは,SQL Server 2005がネイティブのWebアクセスを実現する仕組みに似ている。

 二つ目,データベース・サービスには,SQL Server 2008の価値を高める新機能がいくつか含まれている。その中から,カスタマ(特にBIに携わっている人々)にとって最も便利だと筆者が考えている機能を,以下に紹介する。

  • Merge(マージ)ステートメント。Mergeステートメントを使うと,同じステートメント内でレコードの挿入や更新を行うことが可能だ。この機能は,データ・ウエアハウスの読み込み中に過去の変更を追跡するときに重宝する。

  • 新しいDateTimeデータ型。新しいDateTimeデータ型には,範囲と精度が改善された日付情報と時間情報の分離機能,さらに時間帯オフセットに対応した便利なDateTime型などが含まれている。

  • テーブル値パラメータ。テーブル値パラメータを使うと,テーブルをパラメータとしてストアド・プロシジャに渡すことができる。これにより,そのproc内でカンマ区切り(CSV)リスト(または同様のもの)の構文解析を行う必要がなくなる。さらに,ADO.NET DataTableをパラメータとして渡すこともできるので,Microsoft .NET FrameworkとSQL Serverの間のデータのやり取りは非常に簡単になるだろう。

  • ユーザー定義データ型の上限サイズの増加。SQL Server 2008では,.NET CLR型を含むユーザー定義データ型の8Kというサイズの上限が撤廃された。これにより,以前よりも豊富な機能を持つ型や集計を作成することが可能になった。

  • Change Data Capture(変更されたデータのキャプチャ)。Change Data Captureは,データベース上の変更個所を追跡して出力するという,データベース・アドミニストレータ(DBA)にとって夢のような機能だ。インクリメンタル抽出,変換,ロード(ETL)プロセスは,この機能を利用して,新しいデータや変更されたデータのみを発見し抽出できるようになる。

 最後は運用管理だ。DBAが行う日々のデータベース運用業務のほとんどについて,SQL Serverは自己管理,自己修復することができる。筋金入りのDBAは,絶えず調節を必要とする「ノブ」がSQLには少ししかないことを理由に,SQLを批判しがちだ。そうした批判の多くは自分の仕事がなくなることへの不安からくるポーズだと筆者は考えているのだが,SQL Server 2008では,Resource Governor(リソース・ガバナ)とDeclarative Management Framework(宣言型管理フレームワーク)(DMF)の登場によりノブの数が増える。

 提供が延び延びになっていたResource Governorは,リソースを渇望するデータベースに制限や優先度を定義できるようにすることで,並列処理と併せて優れたパフォーマンスを実現する。DMFの機能はポリシー・ベースなので,ポリシーを通して,複数のSQL Serverサーバーに同じカスタム設定を適用できる。昔気質のDBAはノブの数が少なすぎることを理由にSQL Serverを批判することはできないものの,「SQL Serverなんて根性なしが使うものだ」と言うことはできる。なぜなら,インストール・プロセスが,以前よりもさらに簡単になっているからだ。

 SQL Server 2008の機能リストは,筆者の腕の長さよりも長い。データベース・ミラーリングが2.0に更新されたこと,地理空間データのサポートが予定されていること,さらにVisual Studio Tools for Applications (VSTA)サポートを含むIntegration ServicesでC#のコーディングができることなど,新しい機能が満載だ。多くのカスタマが,今回紹介した機能に価値を見出して,「さらば,SQL Server 2005(または2000)。私は2008に移行することに決めたよ」と言うだろう。筆者の見解は偏っているかもしれないが,SQL Server 2008の主役はBIであり,人々がそれに気づきさえすれば,2008はたくさんのファンを獲得するはずだ。