Microsoft SQL Server 2005 を SQL Server 2000 と平行して動作させる

SOFTWARE REPORT


Microsoft SQL Server 2005

これまで Microsoft SQL Server 2000 を利用していたのですけど、けっこう前の話になりますけど MSDN で Microsoft SQL Server 2005 が届いていたのもあって、今回はそれをインストールしてみることにしました。

わざわざバージョンアップする必要もないかなと思ってずいぶんと使ってなかったのですけど、なんだか Microsoft SQL Server 2005 で新たに加わった .NET Framework のホスティング (SQL CLR) という機能が気になってみたのも、Microsoft SQL Server 2005 を使ってみようかなって思った理由のひとつです。

 

この SQL CLR という機能は、SQL Server 内で .NET Framework クラスライブラリを利用できたり、C# 等を用いてストアドプロシージャ、関数、トリガといったデータベースオブジェクトを生成できたりするとのことでした。これが上手に使えるようになれば、いろいろと活用の幅が広がりそうな感じがします。

その他にも、データベースのスナップショットを作成することができて、操作ミスなどによるデータ破損などを復元できるとのことでした。 ただ、さらっと調べてみる限りでは、スナップショットの機能は Enterprise Edition のみの機能のようでしたけど…。

ともあれこれも上手く使えれば、よりいっそう開発するのに良さそうですね。

 

ところで Microsoft SQL Server 2005 のエディッションごとの性能差は Microsoft 社のサイトの SQL Server 2005 エディション別機能比較表 にて細かくまとめられていましたので、詳しくはそちらを眺めてみてもらえるとありがたいのですけど、とりあえずこれを眺めてみると、無償で提供されている Express Edition もなかなか良さそうな感じですね。

それなりの規模ならデータベース 4G なんてなくても何とかなることも多そうですし、あまり派手に使わなければメモリも 1GB も積んでないし、CPU は今となっては 2 つとか使いたいこともあるかもしれませんけど、それでも 1 つで我慢しようと思えばできるでしょうし、統合管理ツールは無いけれど Express 版の管理ツールはあるようですしし。

スナップショットは取れなそうな感じですけど、それでもやっぱり、しっかりしたデータベースシステムを無償で利用できるというのはとてもメリットが大きいような気がします。

ともあれ今回は、Microsoft SQL Server 2005 Enterprise Edition を使ってみようと思います。

 

Windows Installer 3.1 のインストール

Microsoft SQL Server 2005 をインストールするためには Windows Installer 3.1 が必要とのことでした。それがまだインストールされていないままインストールを行ってみたところ、Microsoft SQL Server 2005 のセットアッププログラムにてその旨が知らされました。

ただ、それ以上の細かい情報はなかったため、とりあえず Microsoft のダウンロードサイトにて "Windows Installer 3.1 Redistributable (v2) - 日本語" を探してインストールしてみたところ、それで問題なく Microsoft SQL Server 2005 をインストールすることができるようになりました。

Windows Installer 3.1 のインストール自体は手順どおりに勧めて行けば、特に難しいところはなかった感じです。

 

そんな感じで Windows Installer 3.1 をインストールし終えてから知ったのですけど、Microsoft SQL Server 2005 Enterprise Edition の DVD-ROM の中の "Servers\redist\Windows Installer" フォルダの中にも Windows Installer 3.1 がちゃんと用意されていました。

"WindowsInstaller-KB893803-v2-x86.exe" というプログラムがそれで、これを実行することで、Windows Installer 3.1 をインストールすることが可能です。

 

SQL Server アップグレードアドバイザを使ってみる

今回は Microsoft SQL Server 2000 からアップグレードしてみようと思っているところなので、インストールに先立ってまずは "SQL Server アップグレードアドバイザ" ツールをインストールしてみることにしました。

そのために、まずは Microsoft SQL Server 2005 Enterprise Edition の DVD-ROM を挿入したら、メニューの準備の項にある "SQL Server アップグレードアドバイザのインストール" を選択します。

ただ、このようにしたところ Windows インストーラが起動したのですが、.NET Framework 2.0 が必要とのことでエラーとなってしまいました。.NET Framework 2.0 は "SQL Server 2005" をインストールする時には自動的にインストールしてもらえるのですけど、それよりもまず "SQL Server アップグレードアドバイザ" をインストールするような場合には手動でインストールする必要があるようです。

.NET Framework 2.0 は SQL Server 2005 Enterprise Edition DVD-ROM の中にある Servers\redist\2.0\ フォルダの中の "dotnetfx.exe" として収録されているようなので、それを実行して "Microsoft .NET Framework 2.0" のインストールを行います。つづけてさらに LangPack\ フォルダの中にある "langpack.exe" も実行して、"Microsoft .NET Framework 2.0 日本語 Language Pack" もあわせてインストールしておくと良いかもしれません。

 

.NET Framework 2.0 の準備が整ったら、メニューからあらためて "SQL Server アップグレードアドバイザのインストール" を選択します。すると今度はしっかりと Microsoft SQL Server 2005 アップグレードアドバイザのインストールウィザードが起動しました。次へ進んで "使用許諾契約書" に同意したら、名前などのユーザ情報を入力して、そんな手順で後はとくに難しいこともなくインストールが完了しました。

インストールが終わったら、スタートメニューのプログラムから "Microsoft SQL Server 2005" の "SQL Server 2005 Upgrade Adviser" を選択すれば、"Microsoft SQL Server 2005 アップグレードアドバイザ" が起動します。そうしたら "アップグレード アドバイザ分析ウィザードの開始" を選択して、"Microsoft SQL Server アップグレードアドバイザ分析ウィザード" を起動させます。

次へ進んだら、チェックを行いたいサーバ名とそれに含まれるコンポーネントを選択して、さらに次へ進みます。そしてそのサーバへログオンする認証情報を指定して、そこに存在しているデータベースやトレースファイルや SQL バッチファイルといった、分析したい項目を選択して次へ進みます。他にもデータ変換サービス (DTS) の分析をするかなども指定してあげると、指定した項目の確認画面が表示されます。分析する項目に間違いないかを確認しつつ、あとは 「実行」 ボタンを押すことで分析処理が始まりました。

そして分析が終了してみると、各項目がなにやら警告とエラーでびっしり埋まっている感じでしたけど…。

 

アップグレードアドバイザで分析した結果は "SQL Server 2005 アップグレード アドバイザ レポート ビュア" にて確認できるとのことなので、SQL Server 2005 アップグレードアドバイザのメニューから "アップグレード アドバイザ レポート ビュアの起動" を選択してみました。

そして警告が表示されていた項目を "インスタンスまたはコンポーネント" のドロップダウンリストから選択して確認してみると、とりあえず "Analysis Service" に関しては DSO (Decision Support オブジェクト) がインストールされていないとのことでした。"Reporting Service" についても正しくインストールされていないとのことで、アップグレードができないような様子を示している感じです。"データ変換サービス" については、パラメータ "issueDescription" としか記されていなかったり、からの文字列は有効な引数ではありませんといった感じで、どこの何が問題なのかが判断できない感じでした。

ただ、上記のこれらについては意識的に利用していたサービスでもなければ、そもそもインストールしたかどうかも覚えていない感じですので、肝心なのは "SQL Server" に関するものとなりそうです。

それらについて眺めてみると、まず最初に目に付いたのは "データベースのアップグレードに関するその他の問題" というものでした。その詳細について調べてみると、SQL Server 2000 と SQL Server 2005 とでデータの持ち方や取り扱いなどの仕様に変更があったりして、それによって既存のデータがその仕様に丸め込まれたりすることがあるようです。それらに関するガイドラインを確認することができるのですけど、なんとも項目が多かったりして、そこまでして既存のデータベースを移行する必要があるのかなとか思ってみたりする感じでした。

他にはデータベース保守計画は互換性がないらしくて、引き継ぎはできるものの編集したければ新たに作成する必要があるだとか、そんなような感じです。

 

個人的には、今回は既存のデータベースで SQL Server 2005 の機能を利用したいという感じではなくて、新たにデータベースを新調ついでに SQL Server 2005 を使ってみようかなっていう感じだったので、ここまで配慮しつつアップグレードする必要もなさそうだなって感じがしてきました。とはいえ SQL Server 2005 の "SQL CLR" 機能は使いたいところですし、既存のデータベースについても環境が落ち着くまでは利用できる状態にしておきたいところです。

そんなことを思いながら少し調べてみていたら、"サイド バイ サイド インストール" と称して、以前のバージョンの SQL Server と SQL Server 2005 とを平行して動作させる方法があるとのことでした。

セットアップドキュメントの "SQL Server の複数バージョンの使用" について調べてみると、名前つきインスタンスを利用することでそれは可能となるようでした。現在は SQL Server 2000 が既定のインスタンスとしてインストールされているので、新しくインストールする SQL Server 2005 を名前つきインスタンスでインストールしてあげれば良さそうな感じですね。

そんな感じで今回は、既存の SQL Server 2000 を稼動させたまま、新たに SQL Server 2005 Enterprise Edition をインストールさせてみようと思います。

 

Microsoft SQL Server 2005 Enterprise Edition のインストール

Microsoft SQL Server 2005 Enterprise Edition の DVD-ROM をディスクドライブに挿入したら、表示された SQL Server 2005 の開始メニューにて今回の環境は Pentium 4 ( x86 系) なので "x86 ベース オペレーティング システム" を選択します。

すると x86 用の SQL Server 2005 の開始メニューが表示されますので、新規にインストールする場合は "サーバー コンポーネント、ツール、Books Online、およびサンプル" を選択してインストールを続行します。

そして使用許諾契約書に同意した上で次へ進み、続いて必要なコンポーネントのインストール作業が始まります。インストールされる必要なコンポーネントは環境によって異なるかもしれませんけど、とりあえず自分の環境では次の候補が挙げられていました。

  • .NET Framework 2.0
  • .NET Framework 2.0 - 言語パッケージ
  • Microsoft SQL Native Client
  • Microsoft SQL Server 2005 セットアップ サポート ファイル

これらのインストールが終了したら、続いてシステム構成チェックとなりました。コンピュータの構成などが自動的にスキャンされた後、いよいよ Microsoft SQL Server のインストールウィザードが起動しました。システム構成でチェックされた項目の一覧が表示された後、次へ進むと Windows インストーラが起動して、プロダクトキーの入力 、続いてインストールするコンポーネントの選択となりました。

選択可能なコンポーネントは次の通りのようです。

SQL Server データベース サービス SQL Server データベースエンジン、レプリケーション、XML データ、フルテキスト検索エンジンが含まれます。データ処理やセキュリティ保護など、基幹となるデータベースまわりのコンポーネントです。
SQL Server Analysis Services オンライン分析処理 (OLAP) とデータマイニングに使用するコンポーネントだそうです。これには Integration Services も必要になるような感じでした。
SQL Server Reporting Services レポートの作成やディストリビューションなどの、管理およびユーザアクセスを提供するコンポーネントだそうです。この機能を利用するためには IIS (インターネットインフォメーションサービス) が必要だそうです。
SQL Server Notification Services 通知の生成と送信を行うアプリケーションを開発し配置するためのコンポーネントだそうです。
SQL Server 2005 Integration Services データの抽出、変換、読み取りとタスクの実行を行うためのコンポーネントだそうです。
ワークステーションコンポーネント、
 Books Online、および開発ツール
接続コンポーネント (DB-Library, OLEDB, ODBC, ADODB, ADOMD+)、管理ツール (Management Studio, 構成マネージャ, SQL Server Provider, レプリケーションモニタ)、Business Intelligence Development、ソフトウェア開発キット(SDK)、SQLXML クライアント機能、Books Online が含まれるそうです。

 

必要なコンポーネントを選択して次へ進むと、続いてインスタンス名の選択画面となりました。

今回は既存の SQL Server 2000 をそのまま残しつつ、SQL Server 2005 を名前つきインスタンスで同時稼動させようと思っているので、ここでは "名前つきインスタンス" を選択して、任意のインスタンス名を指定しておきました。

そしてサービスアカウントの起動用アカウントを設定したら、認証モードとして今回は "Windows 認証モード" を選択しておくことにしました。Windows のアカウントによる認証ではなく、SQL Server 用のアカウントを利用して接続したい場合には "混合モード" を選択しておくといいでしょう。

あとは "照合順序の設定" で並び替えに関する微調整を行ったら、SQL Server 周りの設定は完了のようです。他にも "Reporting Services" の構成やエラーと使用状況レポートを Microsoft 社等へ送信するかといった質問もされましたけど、これらはディフォルトのまま特に変更しないで進んでおくことにしました。

そしていよいよ 「インストール」 ボタンを押せば Microsoft SQL Server 2005 Enterprise Edition のインストール処理が始まって、しばらくしてインストールは完了しました。

 

Microsoft SQL Server 2005 Enterprise Edition を使ってみる

Microsoft SQL Server 2005 のインストールが終わってみると、スタートメニューに "Microsoft SQL Server 2005" メニューが追加されました。

"SQL Server Management Studio" を起動してみると、初回起動時は環境構成が行われ、続いて管理したいデータベースの選択画面となりました。選択できるサーバは、単純な "サーバ名" のほかに "サーバ名\インスタンス名" という候補が表示されていました。サーバ名だけのほうは既定のインスタンス (今回の場合は SQL Server 2000) なのでしょう。

サーバの起動状態などは、タスクトレイのアイコンでも確認できる感じですけど、構成ツールの "SQL Server Configuration Manager" でもそれを確認することができるようです。ここでは実行中の関連サービスの一覧を見ることができて、それらを停止したり再起動したりすることも簡単に出来るようになっていました。

クライアントからローカルネットワーク内の SQL Server 2005 へ接続する時も、接続先として "サーバ名\インスタンス名" を指定してあげることで接続することができました。なお、外部のネットワークを経由して TCP/IP 接続する時は "tcp:サーバ名\インスタンス名" という形で指定してあげれば良さそうです。