#author("2016-09-10T00:58:39+09:00","default:nowsky","nowsky")
*Microsoft SQL Server [#wfaaed94]
-[[SQL Server 2008 Express:+https://www.microsoft.com/ja-jp/download/details.aspx?id=1695]]
-[[SQL Server 2014 Express:+https://www.microsoft.com/ja-jp/download/details.aspx?id=42299]]
-[[SQL Server 2016 Express:+https://www.microsoft.com/ja-JP/download/details.aspx?id=52679]]

マイクロソフトが開発しているRDBMSの一種。SQL ServerとかMSSQLと呼ぶ事が多い。
名前から判るとおりWindows環境で使う事が多く、ADO.NETを使ったシステム構築がしやすいのが特長。
ライセンス料が非常に高く、バージョンによっては100万円する物もある。
 
検証・勉強用として機能制限がされているが無料のSQL Server Expressも用意されており、
余程の事が無ければExpress版で要件を満たせる場合が多い。
~
*メモ [#m5ff7d9a]
-SQL Server 2016 ExpressからWith Tools等の細分化が無くなり、
SQL Server Management Studioが同梱されなくなった。
-別途、SSMS 2016(無料版)をインストールすれば、今までのWith Tools相当を使う事は出来る。
-SQL Server 2014/2016 Expressだと、1DBで10GBまで構築出来る。
~
*インストール [#x21f7aad]
&size(16){&font(b){0. 前提条件};};
-構築環境
 [VM]:   Hyper-V ver6.3.9600
 [OS]:   WindowsServer2012R2 64bit
 [MEM]:  4GB
 [HDD]:  C:50GB / D:50GB
 [SQL]:  SQL Server 2016 Express
 [SSMS]: SQL Server Management Studio 2016

-パラメータ
 [インストール用TEMP]:   C:\SQLServer2016Media
 [DBデータディレクトリ]: D:\Microsoft SQL Server
 [インスタンス構成]:     既定のインスタンス

~
&size(16){&font(b){1. インストール作業(MSSQL)};};
Microsoftから事前にSQL Serverのインストーラをダウンロードしておく。
下記手順だとReporting Servicesもインストールしているが、必要無ければインストールをしなくても良い。
 
#region(MSSQL 2016 Express インストール手順)
>&ref(sql_express2016_01.png,left,nowrap,50%);
インストーラを起動したらカスタムを選択
 
>&ref(sql_express2016_02.png,left,nowrap,50%);
SQL Serverのインストールで使用するテンポラリを指定
この段階では実際のインストールはまだ動かない -> [インストール]
 
>&ref(sql_express2016_03.png,left,nowrap,50%);
バイナリをダウンロードし出すのでしばらく放置
 
>&ref(sql_express2016_04.png,left,nowrap,50%);
放置していると、SQL Serverのインストーラが起動する
新規インストールの場合「新規スタンドアロンインストール」をクリック
 
>&ref(sql_express2016_05.png,left,nowrap,50%);
「ライセンス条項に同意」をチェック -> [次へ]
 
>&ref(sql_express2016_06.png,left,nowrap,50%);
「SQL Serverの更新プログラムを自動入手」をチェック -> [次へ]
 
>&ref(sql_express2016_07.png,left,nowrap,50%);
インストール要件を満たしているか確認が走る
WindowsFirewallの警告が出るが、後で修正すれば良いので無視 -> [次へ]
 
>&ref(sql_express2016_08.png,left,nowrap,50%);
インストールする機能を選択。殆ど使わないLocalDBだけはチェックを外す
インスタンスルートは、データベース・バックアップ・ログ等が入るディレクトリ
共有機能ディレクトリは、SQL Server実行バイナリのインストール先
今回は上記の通りに選択・入力を行う -> [次へ]
 
>&ref(sql_express2016_09.png,left,nowrap,50%);
「既定のインスタンス」を選択。IDはデフォルトのまま -> [次へ]
 
>&ref(sql_express2016_10.png,left,nowrap,50%);
SQL Serverの実行ユーザを選択。とりあえずデフォルト(上記)のまま
ボリュームメンテナンスタスク実行特権は&color(#ff0000){&font(B){チェックを外す};}; -> [次へ]
 
>&ref(sql_express2016_11.png,left,nowrap,50%);
DBアクセスユーザと認証方法を設定する
デフォルトだとログイン中のOSローカルユーザが登録されるが後から消す事が出来る
SSMSからOSローカルユーザを消せば、結果としてSQL Server認証に限定させる事も出来る -> [次へ]
 
>&ref(sql_express2016_12.png,left,nowrap,50%);
Reporting Servicesは構成処理を行う -> 次へ
 
>&ref(sql_express2016_13.png,left,nowrap,50%);
利用規約を確認する -> [承諾] -> [次へ]
この後は画面に従ってクリックすればインストールが完了する
 
>&ref(sql_express2016_14.png,left,nowrap,50%);
インストールが完了したらインストーラを閉じる
インストーラを閉じたらインストールテンポラリ「C:\SQLServer2016Media」を削除する
#endregion

~
&size(16){&font(b){2. インストール作業(SSMS)};};
SQL ServerをGUI操作する為に、SQL Server Management Studio (SSMS)を追加インストールする。
インストーラは[[MSグローバル:+https://msdn.microsoft.com/en-us/library/mt238290.aspx]]の方からダウンロードを行うが、
インストールの段階で日本語が反映される為、実際には日本語版のSSMSを使う事が出来る。
 
#region(SSMS 2016 インストール手順)
>&ref(ssms2016_01.png,left,nowrap,70%);
事前にインストーラを入手しておく
 
>&ref(ssms2016_02.png,left,nowrap,50%);
規約を読んだら「インストール」を選択
この後、5~10分程度でインストールが完了する
#endregion

~
&size(16){&font(b){3. TCP/IP接続の有効化};};
デフォルトの状態では、IPアドレスによるMSSQL接続が許可されていない為、
SQL Serverのネットワーク構成を変更し、TCP/IP接続を有効化する。
TCP/IP接続の設定変更をしただけではTCP/IP接続が有効にならないので、DBの再起動も実施する。
 
#region(MSSQL構成マネージャー設定内容)
-DBインスタンスの構成によって、MSSQL通信に使用するプロトコルとポート番号が変化する。
サーバにFWを設定している場合、内容に合わせてポートを開けておく。
|既定のインスタンス  |TCP:1433                 |
|名前付きインスタンス|UDP:1434 / TCP:1025-65535|

 
>&ref(mssql_tcpip_01.png,left,nowrap,50%);
「SQL Server 構成マネージャー」->「SQL Server ネットワークの構成」->
「"DBインスタンス名" のプロトコル」->「TCP/IP」->「状態:有効」
 
>&ref(mssql_tcpip_02.png,left,nowrap,50%);
「SQL Server 構成マネージャー」->「SQL Server のサービス」->
「SQL Server "DBインスタンス名"」->「再起動」
#endregion