先日筆者が指摘したように,Windows VistaではSQL Server 2000/7.0をベースにした「MSDE」がサポートされない(関連記事:Windows Vistaに移行できないマイクロソフト製品)。Windows VistaではSQL Server 2005 Express Editionを使うことが推奨されている。しかし,Windows VistaでSQL Server 2005 Expressを使うためには,「Service Pack 1(SP1)」の適用と,設定の変更が必要でもある。これは多くのユーザーに悪影響を与えるだろう。

 MicrosoftはSQL Server 2005 ExpressがWindows Vistaに正式に対応するのは,今後提供される「Service Pack 2(SP2)」からであると説明している(関連情報:Windows Vista と Windows Server “Longhorn” におけるSQL Server のサポート)。SQL Server 2005 Express SP1をWindows Vistaで動かそうとした場合に問題になるのは,Windows Vistaに追加されたユーザー・アカウント制御(UAC)である。

 Windows VistaではUACが搭載されたことによって,管理者権限の取り扱いが変わった。UACは管理者権限を持つユーザーであっても,ユーザーの権限を標準ユーザー(Windows XPにおける制限ユーザー)相当に落とし,管理者権限が必要となるタスクを実行しようとしたときだけ,権限を必要に応じて昇格させる。従って,ユーザーは通常は管理者権限がなく,SQL Server 2005 Expressを実行するのに必要なアクセス権もないので,その結果,SQL Server 2005 Expressで問題が発生するのだ。

 SQL Server 2005 Expressにログオンするための適切な権限を持つためには,SQL Server 2005 Expressを実行するWindowsアカウントに管理者権限を手動で与える必要がある。まずは,SQL Server Management Studio Express(SSMSE)のショートカットを右クリックして[管理者として実行]を選択してSSMSEを起動し,「sysadmin固定サーバーロール」にWindowsアカウントを追加する必要がある。

 先に述べた通り,Windows Vistaに完全に対応するのは,SQL Server 2005 Express SP2からである。MicrosoftはSQL Server 2005 Express SP2を,OSの自動更新機能経由で提供する予定だ。