#author("2016-09-11T12:02:11+09:00","default:nowsky","nowsky") *Microsoft SQL Server [#y5907991] -[[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版で要件を満たせる場合が多い。 ~ *メモ [#paf0636f] -SQL Server 2016 ExpressからWith Tools等の細分化が無くなり、 SQL Server Management Studioが同梱されなくなった。 -別途、SSMS 2016(無料版)をインストールすれば、今までのWith Tools相当を使う事は出来る。 -SQL Server 2014/2016 Expressだと、1DBで10GBまで構築出来る。 ~ *インストール [#c9927ba0] &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 ~ *PHPからMSSQL接続 [#p5b8fa09] PHPからSQL Serverへ接続する時には、専用の追加ドライバをインストールし、 エクステンションとして読み込ませる必要がある。 Windowsから接続する方法は、[[IISのメモに記載している:+http://www.ns-lab.org/wiki/?Windows/Binary/IIS#m12e7271]]ので、そちらを参考にする。 Linuxの場合はディストリビューション毎にバイナリが変化するので、 環境に合った物をダウンロードして利用する。 -[[[RedHat] - Microsoft ODBC Driver 13 (Preview) and 11 for SQL Server:+https://www.microsoft.com/en-us/download/details.aspx?id=36437]] -[[[SUSE] - Microsoft ODBC Driver 13 and 11 Previews for SQL Server:+https://www.microsoft.com/en-us/download/details.aspx?id=34687]] -[[[Ubuntu] - Microsoft ODBC Driver 13 (Preview) for SQL Server:+https://www.microsoft.com/en-us/download/details.aspx?id=50419]] インストール手順はMicrosoftが公開しているので、そちらを参考にインストールを進める。 PHPドライバをインストールしたら、上記のIISメモと同様にエクステンションにPHPドライバを追加して読み込ませる。 -[[Linux に SQL Server 用 Microsoft ODBC Driver をインストールする:+https://msdn.microsoft.com/ja-jp/library/hh568454(v=sql.110).aspx]] インストール --- # ./install.sh verify # ./install.sh install アンインストール --- # rm /usr/bin/sqlcmd # rm /usr/bin/bcp # rmdir /opt/microsoft/msodbcsql # odbcinst -u -d -n "ODBC Driver 13 for SQL Server"