SQL Server 2012 Express のインストール

2012 Express には、以下の5つのエディションがあり、2008 Express のエディションと比較すると LocalDB が追加されてエディションが1つ増加しています。

  • LocalDB : 2005 Express で導入されたユーザーインスタンスの機能をサポートします。Access の MDBファイルを扱うのと同じような感覚でデータベースを手軽に扱えるので、開発用に適しています。
  • Express : SQL Server のデーターベースエンジンのみをインストールします。
  • Express with Tools : Express に管理ツール SQL Server 2008 R2 Management Studio Express ( SSMSE ) が付属したものです。
  • Express with Advanced Services : Express に、フルテキスト検索、Reporting Services の機能及び管理ツール SSMSE が付属しています。
  • Management Studio Express : 管理ツール SSMSE のみをインストールします。

2012 Express では、Windows XP 及び Windows Server 2003 がサポートされなくなっています。また、データベースエンジンには大きな変更はありませんが、SSMSE はダウンロードファイルのサイズが640MB余りと巨大になっています。SSMSE は、クエリーをソリューションとして管理できるなど確かに便利になっています。Express エディションを利用した方がいいというのは、サーバーには Express エディションでデーターベースエンジンのみをインストールして、SSMSE は管理用のPCにのみインストールするという場合です。Express Edition の対応機種、機能制限等については、SQL Server Express を活用しようにメモをしてあります。

以下は、Express エディションをインストールする場合のメモです。2012 Express では、必要になれば Advanced Services や SSMSE を簡単に機能追加できるので、どのエディションがいいのか迷うときには Express をインストールして、必要になればその時に必要な機能を追加するということで対応できると思います。

1.Express のダウンロード

まず、SQL Server 2012 Express を Microsoft の ダウンロードのページから、OSが64bitの場合は、JPN\x64\SQLEXPR_x64_JPN.exe を、OSが32bitの場合は、JPN\x86\SQLEXPR32_x86_JPN.exe をダウンロードします。今回のケースでは、SQL Server の設定に必要な SQL Server 2012 Management Studio Express (SSMSE) は、管理用のPCにインストールしたものを利用することとします。

Windows 7 では、SP1に、Windows Vista では、SP2 に更新しておくとともに、Windows Vista の場合は、 .NET Framework 3.5 SP1 又は .NET Framework 4、 Windows インストーラ 4.5、 Windows PowerShell 2.0(ダウンロード Vista 32bit Vista 64bit) を事前にインストールしておきます。なお、Management Studio Express、Express with Tools、Express with Advanced Services をインストールする場合は、 .NET Framework 3.5 SP1 と .NET Framework 4 の双方をインストールしておく必要があります。

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

インストーラを起動して、インストールセンターを立ち上げます。以下の図のように「インストール」フォルダーが選択されて表示されるので、「新規インストールを実行するか、既存のインストールに機能を追加します。」を選択します。
 expr01.png
 
3.ライセンス条項

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

5.「機能の選択」
「機能の選択」では、必要な機能を選択します。選択が終わると「次へ」をクリックします。
expr04.png
 
6.インスタンスの構成
次に、「インスタンスの構成」の画面が表示されます。インスタンスは、デフォルトでは「名前付きインスタンス」で、インスタンス名が「SQLExpress」となっています。「名前付きインスタンス」を使うか、「既定のインスタンス」を使うかは悩ましいところです。違いは、SQL サーバーに接続する場合のサーバー名が、「既定のインスタンス」に設定した場合はサーバー名のみですが、「名前付きインスタンス」に設定した場合は、サーバー名\インスタンス名となるので、「既定のインスタンス」を使った方が短い記述で接続することができます。なお、1台のマシンでExpress の場合は16個のインスタンスをインストールすることができます。
expr05.png
 
7.サーバーの構成
SQL Server サービスのアカウントは、デフォルトでは NT SERVICE\MSSQL$(インスタンスID) が選択されており、インスタンス毎に別のアカウントになります。Microsoft はセキュリティを強化するためアカウントを区分する方向に変更しているようで、2008 まではデフォルトでは NETWORK SERVICE でした。特に変更する必要がなければそのままにします。「照合順序」は、デフォルトでは、Japanese_CI_AS となっており、そのままで支障ありませんが、気になる場合は、照合順序のメモを参考にしてください。
expr06.png 
 
8.データベース エンジンの構成
リモートマシンからの接続にはSQL Server 認証を使用する必要(サーバー OS ではドメイン内であれば Windows 認証が可能ですが、7/Vista ではWindows 認証はローカルマシンからのみ)があるので、認証モードは混合モードにします。リモートから管理する場合は、ユーザ名が sa で、ここで設定したパスワードで接続しますのでパスワードは忘れないようにしてください。「SQL Server 管理者の指定」は、「現在のユーザー」がデフォルトで入力されているのでそのままにしておきます。ローカルのマシンからアクセスする場合は、「現在のユーザー」であれば管理者権限を持つようになります。「次へ」をクリックします。なお、FILESTREAMは、varbinary(max) のデータをデータベース内ではなく、ファイルシステム上のファイルとして保存する機能です。画像等容量の大きいファイルを保存する場合には、データベースのサイズの制約の対象外になりパフォーマンスもいいようなので使用してもいい機能です。
expr07.png
 

9.エラーリポート

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

10.インストールの完了

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

12.TCP/IPの有効化
リモート接続を有効にするためには、SQL Server 構成マネージャを使用します。SQL Server 構成マネージャの起動は、[スタート]->[すべてのプログラム]->[Microsoft SQL Server 2012]->[構成ツール]->[Sql Server 構成マネージャ]の順にクリックします。構成マネージャが起動すると、「SQL Server ネットワークの構成」の「MSSQLSERVERのプロトコル」(Web PI でインストールした場合と名前付きインスタンスでインストールした場合は「SQLEXPRESSのプロトコル」)を選択し、TCP/IPを選択して右クリックして「有効化」をクリックします。「MSSQLSERVERのプロトコル」の場合は、以上で SQL Server を再起動すれば、固定ポート(ポート番号1433)で接続できます。
expr10.png 
13.インスタンスの構成で「名前付きインスタンス」を選択した場合やWeb PI でインストールした場合とは、動的ポートがデフォルトになっているので、上の図で、プロパティをクリックします。「TCP/IPのプロパティ」ダイアログが表示されるので、「IPアドレス」タブを選択します。一番下の IPAllで、「TCP ポート」をSQL Server標準の1433に、「TCP 動的ポート」を空白にしてOKボタンをクリックします。SQL-Server を再起動すると設定が有効になり、固定ポートで接続できるようになります。
expr11.png

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

15. ホスト名
SQL Server Management Studio で接続する時のサーバー名は、「既定のインスタンス」の場合は、サーバー名のみになります。「名前付きインスタンス」の場合は、サーバー名\インスタンス名となります。例えば、インスタンス名がデフォルトのインスタンス名である 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 2012 Express のTCP/IP は有効になっていますが、表示されない場合は、TCP/IP が有効になっていないということがわかります。
sql19.png

接続は一旦はできるけど拒否される場合は、ログを確認してください。ログは、SSMSE をインストールしている場合は、下の図のようにオブジェクト エクスプローラーの一番下にあるので簡単に確認できます。SSMSE をインストールしていない場合には、接続できるまでは、SSMSE を使って確認できないので、直接 Log ファイルを確認します。Log ファイルは、SQL Server の Log フォルダーにあり、テキストエディタで開くことができます。既定のインストールでは、「既定のインスタンス」を選択した場合は、C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Log、「名前付きのインスタンス」を選択した場合は、C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\Logのフォルダーになります。
expr12.png

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

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