筆者は先日,Oracleデータベースを使っている何人かのシステム管理者から,「SQL Server 2005」や「SQL Server 2005 Express」について感想を聞く機会を得た。彼らがOracleを最高だと思っているのは知っていたので,SQL Serverの評価が低かったのは驚きではなかった。しかし筆者は,彼らがSQL Serverを高く評価しない理由として,セキュリティと安定性をやり玉に挙げていることに驚いた。

 Oracle好きのシステム管理者の認識は,「SQL Server 2005とSQL Server 2005 Expressは,安定したデータベースではないので,エンタープライズ環境ではまだ使えない。SQL Serverが安定しない主たる理由は,Windows OSで動作しているからだ」というものだった。

 さらに彼らは,SQL Server 2005とSQL Server 2005 Expressが安全でないとも信じている。これらの製品は,2003年初めにに「SQL Server」や「SQL Server Desktop Engine(MSDE)」を襲った,悪名高き「SQL Slammerワーム」などのウイルスの攻撃を受けたことがあるから安全ではない,というのがその理由だった。筆者の意見を言わせてもらうと,こうした考えははるか昔の出来事に基づく誤解であり,現在のSQL Server 2005やSQL Server Expressの製品とは関連性がない。

 古いバージョンのWindows 9xは,安定性に問題があった。だがWindows XPやWindows Server 2003といったOSに関しては,このことは事実ではない。歴史を振り返ってみると,サーバーよりもデスクトップ・システムの方が,安定性に関する問題が発生することが多かった。デスクトップ・システムで実行されているソフトウエアの豊富さや,サポートしなければならないデバイス・ドライバの数の多さ,ユーザーによるミスの起きやすさなどが,安定性を失わせる要因であった。だが他のすべてのものと同様に,デスクトップ・システムさえも,時の流れとともに進化してきた。そして同様のことは,SQL Server Expressだけでなく,Oracle ExpressやDB2 Express,さらにはMySQLといった他のデスクトップ・データベースでも起きている。

 SQL Slammerが,SQL Serverの評判を失墜させたことは明らかだ。その打撃はあまりにも大きかったので,Microsoftが元の評判を取り戻すには10年くらいかかるかもしれない。攻撃コードが出る何カ月も前に,MicrosoftがSQL Slammerが狙ったセキュリティ・ホールをふさぐパッチを公開していたことや,ファイアウオールを正しく設定してポート1433への不必要なアクセスをすべて遮断していた組織では,SQL Slammerの被害を受けなかったことはこの際どうでもいい。

 また攻撃コードの出現で,MSDEがいかに広い範囲で使われているかが明らかになった。このことは恐らく,攻撃コードがもたらした最も意外な結果の1つだったに違いない。攻撃コードが急速に広まった主たる原因は,攻撃コードの存在が広まっていない一方で,パッチが適用されていないMSDEがたくさんインストールされていたことだった。

 現在SQL Server Expressは,セキュリティに対してMSDEとは全く異なるアプローチを採用している。まず第一に,Microsoftのセキュリティに関する取り組み強化によって,SQL Server Expressのコードは,SQL Server 2000やMSDEよりもはるかに厳格なセキュリティ検査を受けている。またSQL Serverにこれまで実施されたセキュリティ修正は,SQL Server Expressにすべて反映されている。

 第二に,MSDEの最初のバージョンは,インストール後にすべてのネットワーク・アクセスが有効になる設定で出荷されていた。SQL Server 2005 Expressはこれとは正反対の戦略をとっており,デフォルトではすべてのネットワーク・アクセスが完全に遮断される。これによって,SQL Slammerのような攻撃コードの被害を受ける可能性が除去された。SQL Server Expressデータベースへのネットワーク・アクセスが必要な場合は,「SQL Server Surface Area Configuration Tool」を使ってネットワーク・アクセスを有効にしなければならない。SQL Server 2005とSQL Server Expressが,安定性やセキュリティに優れているのは当然のことという時代になったのだ。