SQL Server 2008 R2 Express のインストール

Microsoft SQL Server 2008 R2 Express Edition には、以下の4つのエディションがあります。エディションの構成は、2008 Express Edition とは少しだけ名称は変わっていますがほぼ同じとなっています。

2008 R2 SP1が公開されていますので、 こちらからダウンロードしてください。なお、以下の「ダウンロードページ」は、2008 R2がダウンロードされますが、R2 をインストール後 Windows Update で 2008 R2 SP1 に更新することができます。

  • Express : SQL Server のデーターベースエンジンのみをインストールします。( ダウンロードページ
  • Express with Management Tools : Express に管理ツール SQL Server 2008 R2 Management Studio Express ( SSMSE ) が付属したものです。( ダウンロードページ
  • Express with Advanced Services : Express に、フルテキスト検索、Reporting Services の機能及び管理ツール SSMSE が付属しています。( ダウンロードページ
  • Management Studio Express : 管理ツール SSMSE のみをインストールします。( ダウンロードページ

以下は、Express をインストールする場合のメモです。SSMSE を同時にインストールする場合は、こちらにメモをしてあります。Express Edition の対応機種機能制限等については、SQL Server Express を活用しようにメモをしてあります。

1.Express のダウンロード

まず、SQL Server 2008 R2 の Express を Microsoft の ダウンロードのページからダウンロードします。今回のケースでは、SQL Server 2008 R2 の設定に必要な SQL Server 2008 R2 Management Studio Express (SSMSE) は、リモートのPCにインストールしたものを利用することにします。

なお、Windows Vista、Windows XP の場合は、 .NET Framework 3.5 SP1 又は .NET Framework 4 Windows インストーラ 4.5を事前にインストールしておきます。

2.インストールセンターの起動

インストーラを起動して、インストールセンターを立ち上げます。「インストール」フォルダーを選択して(2008 R2 では、「インストール」フォルダーを選択しなくても起動後「インストール」画面が表示される)、「新規インストールを実行するか、既存のインストールに機能を追加します。」を選択します。
2008r2_01

3.ライセンス条項

セットアップサポートルールが表示されますが、エラーがなければ自動的にライセンス条項の画面に移動します。エラーがあればあれば修正して再実行します。ライセンス条項が表示されるので、「ライセンス条項に同意する」にチェックして「次へ」をクリックします。
2008r2_02

4.次に、セットアップサポートルールの画面が表示されますが、エラーがなければ、「機能の選択」の画面に自動的に移動します。
2008r2_03

5.「機能の選択」
「機能の選択」では、必要な機能を選択します。選択が終わると「次へ」をクリックします。
2008r2_04
6.インスタンスの構成
次に、「インスタンスの構成」の画面が表示されます。インスタンスは、「既定のインスタンス」か「名前付きインスタンス」を選択することができます。デフォルトは「名前付きインスタンス」で、インスタンス名が「SQLExpress」となっています。「名前付きインスタンス」を使うか、「既定のインスタンス」を使うかの違いは、SQL サーバーに接続する場合のサーバー名が、「既定のインスタンス」に設定した場合はサーバー名のみですが、「名前付きインスタンス」に設定した場合は、サーバー名\インスタンス名となるので、「既定のインスタンス」を使った方が短い記述で接続することができます。ただし、既定のインスタンスに設定した場合で、ローカルデータベースファイル(*.mdf)を使用する場合には、IIS マネージャーで接続文字列の設定の変更(※1)をしておく必要があります。Web PI でインストールした場合にどうなっているかというと、共有メモリ接続では名前付きインスタンスでインスタンス名が「SQLExpress」 、TCP/IP 接続では既定のインスタンスとなっており、実務的なおもしろい設定になります。なお、1台のマシンでExpress の場合は16個のインスタンスをインストールすることができます。
2008r2_06
7.サーバーの構成
SQL Server サービスのアカウントは、NETWORK SERVICE が選択されているので特に変更する必要がなければそのままにします。「照合順序」は、デフォルトのままで支障ありませんが、気になる場合は、照合順序のメモを参考にしてください。
2008r2_07

8.データベース エンジンの構成
リモートマシンからの接続にはSQL Server 認証を使用する必要(サーバー OS ではドメイン内であれば Windows 認証が可能ですが、7/Vista ではWindows 認証はローカルマシンからのみ)があるので、認証モードは混合モードにします。リモートから管理する場合は、ユーザ名が sa で、ここで設定したパスワードで接続しますのでパスワードは忘れないようにしてください。「SQL Server 管理者の指定」は、「現在のユーザー」がデフォルトで入力されているのでそのままにしておきます。ローカルのマシンからアクセスする場合は、「現在のユーザー」であれば管理者権限を持つようになります。「次へ」をクリックします。
2008r2_08

9.エラーリポート

エラーリポートが表示されます。「次へ」をクリックすると、インストールが始まります。
2008r2_09

10.インストールの完了

インストールが完了すると以下のような画面が表示されます。この時点で、SQL Server のデータベースは動作していますが、リモート接続のためには、SQL Server 構成マネージャを使ってTCP/IP接続を有効にする必要があります。
2008r2_11

12.TCP/IPの有効化
リモート接続を有効にするためには、SQL Server 構成マネージャを使用します。SQL Server 構成マネージャの起動は、[スタート]->[すべてのプログラム]->[Microsoft SQL Server 2008 R2]->[構成ツール]->[Sql Server 構成マネージャ]の順にクリックします。構成マネージャが起動すると、「SQL Server ネットワークの構成」の「MSSQLSERVERのプロトコル」(Web PI でインストールした場合と名前付きインスタンスでインストールした場合は「SQLEXPRESSのプロトコル」)を選択し、TCP/IPを選択して右クリックして「有効化」をクリックします。「MSSQLSERVERのプロトコル」の場合は、以上で SQL Server を再起動すれば、固定ポート(ポート番号1433)で接続できます。
sqlserver-settings28

13.Web PI でインストールした場合とインスタンスの構成で「名前付きインスタンス」を選択した場合は、動的ポートがデフォルトになっているので、上の図で、プロパティをクリックします。「TCP/IPのプロパティ」ダイアログが表示されるので、「IPアドレス」タブを選択します。一番下の IPAllで、「TCP ポート」をSQL Server標準の1433に、「TCP 動的ポート」を空白にしてOKボタンをクリックします。SQL-Server を再起動すると設定が有効になり、固定ポートで接続できるようになります。
sqlserver-settings29

14.ファイアウォールの設定
Windows 7では、デフォルトでファイアウォールがオンになっているので使用するポートを開く必要があります。固定ポートの場合は、TCP 1433 を開放します。ファイアウォールの設定についての具体的な手順は、SQL Server をリモート接続-ファイアウォールの設定にメモをしました。動的ポートを使用する場合等は他のポートも開く必要があります。どのポートが必要になるかは、msdn の SQL Server のアクセスを許可するための Windows ファイアウォールの構成を参照してください。

15. ホスト名
SQL Server Management Studio で接続する時のサーバー名は、「既定のインスタンス」の場合は、サーバー名のみになります。Web PI でインストールした場合、現在は既定のインスタンスになりますが、以前(2010年9月ぐらいまで)は名前付きインスタンスでインスタンス名が SQLExpress だったので注意してください。「名前付きインスタンス」の場合は、サーバー名\インスタンス名となります。例えば、インスタンス名がデフォルトのインスタンス名である SQLExpress の場合 servername\SQLExpress となります。もちろんIPアドレスで、192.168.0.3\SQLExpress のように接続することもできます。192.168.0.3\SQLExpress で接続できない場合、ポート番号を指定して 192.168.0.3\SQLExpress,1433 で接続するとうまく接続できる場合があります。

16.接続テスト
クライアントのSSMSを使って接続のテストをします。もし、接続がタイムアウトする場合は、以下の図のようにサーバーのコマンドプロンプトを立ち上げて、netstat -a を実行すれば、ある程度原因がわかります。プロトコルがTCP ローカルアドレス 0.0.0.0:1433 状態 LISTENING の接続が表示されるのであれば、SQL Server 2008 Express のTCP/IP は有効になっていますが、表示されない場合は、TCP/IP が有効になっていないということがわかります。
sql19.png

接続はできるけど接続を拒否される場合は、Log ファイルを確認してください。Log ファイルは、SQL Server の Log フォルダーにあり、テキストエディタで開くことができます。既定のインストールでは、「既定のインスタンス」を選択した場合は、C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Log、「名前付きのインスタンス」を選択した場合は、C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\Log のフォルダーです。

17.データベース、ログインアカウントの作成

SQL Server Management Studio Express (SSMS) を使用して、データベース及びログインアカウントを作成する手順は、SQL Server 2008 Express の設定にメモをしています。

注1. SQL Server Express を既定のインスタンスでインストールした場合には、IIS マネージャーで接続文字列の変更をしておくようにします。設定の手順は、以下の通りです。
IIS マネージャーを起動すると下の図のような画面が表示されるので、サーバーを選択してから、中央の「ASP.NET」 に「接続文字列」があるのでそれをダブルクリックします。
接続文字列の機能の画面が表示されるので、LocalSqlServer の接続文字列は、以下のようになっているので、\SQLEXPRESS (赤字部分)を削除します。
data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true
2008r2_12