SQL Server 2008 R2のインストールの自動化

こんにちは。
ヒゲダルマです。

降って湧いた話なのですが、まとまった台数のPCにSQL Server 2008 R2をインストールしたいとの話を頂きました。(正確にはSQL Server 2008 R2 Express with Advanced Services)
まとまった台数ということなので、普段のサーバー構築案件では殆どやらないのですが、SQL Serverのインストールの自動化に着手してみました。具体的には構成ファイルを使用したインストールという方法になります。

と言うわけで、備忘録兼ねてブログ書いておきます。

大凡の流れは、以下の通りです。

  1. セットアップファイルの展開
  2. 構成ファイルの作成
  3. 構成ファイルを使用してインストールする為のバッチファイルの準備

早速、詳細を見ていきましょう。

1.セットアップファイルの展開

今回インストールするSQL Server 2008 R2 Express with Advanced ServicesはMicrosoftからダウンロード/入手出来ますが、ダウンロードした状態だとSQLEXPR_ADV.exeという単一ファイルです。手動インストールするなら、このファイルをダブルクリックしてウィザードに沿って進めればOKですが、それだと構成ファイルを作成出来ないので、下図の通り、コマンドプロンプトにてSQLEXPR_ADV.exe /Xで実行し、セットアップファイルを展開します。
image

下図の通り展開されます。
image

2.構成ファイルの作成

構成ファイルの作成と言ってますが、ゼロから構成ファイルを書く必要はありません。
SQL Serverのセットアップを進める過程で構成ファイルが生成されますので、それをコピって少し手を加えれば自動インストール用の構成ファイルとなります。

通常のSQL Serverであれば、SETUP.EXEを実行しウィザードを進めるだけですが、ExpressはそのままではNGです。
下図の通り、コマンドプロンプトにて /UIMODE=Normal /ACTION=INSTALL というオプションを付けてSETUP.EXEを実行してやります。
image

後は通常のSQL Serverのセットアップウィザードとなりますので、適宜、設定/選択しつつ、SQL Serverのセットアップウィザードを進めます。

で、大事なのは↓ここです。
image
Configuration file pathと記載があるとおり、このファイルが構成ファイルとなります。と言うわけで、このファイルをエクスプローラーでコピーします。(先のSETUP.EXEと同じフォルダに入れておくと良いかと思います。)
コピーしたら、ウィザードはキャンセルで抜けて貰って構いません。

続けて、コピーしたConfigurationFile.iniをメモ帳で開き、修正して保存します。
修正点は以下2つ
・QUIETSIMPLE=”False” を “True”に変更
image
・UIMODE=”Normal” の行をコメントアウト(行頭に;付ける)
image

QUIETSIMPLEはFalseでも構わないのですが、自動とは言え進捗すら見えないと少し不安になるので、Trueにして進捗が見えるようにしておきます。
UIMODEの方はコメントアウトしないと自動インストールがこけます(エラーになります)。

3.構成ファイルを使用してインストールする為のバッチファイルの準備

前段で構成ファイルの作成も終わりましたので、後は自動インストールのバッチファイルを準備します。

ファイル名は_Install_SQL.batなど適当にどうぞ。

バッチファイルの内容は以下の通り。(詳細は下記参照)
CD “%~dp0”
.\SQLEXPR_ADV\SETUP.exe /SAPWD=hogehoge /IACCEPTSQLSERVERLICENSETERMS /Configurationfile=.\SQLEXPR_ADV\ConfigurationFile.ini

CD “%~dp0″はこのバッチファイルとSETUP.EXE類をCD-Rに焼く予定だったので、とりあえず、付けた。(要るか要らないかはケースバイケース。意味はググって下さい。)
/SAPWDは認証を混合モードにしている場合のSAのパスワードを記載。
/IACCEPTSQLSERVERLICENSETERMSは入れないと、怒られる(エラー)。
/Configurationfileは構成ファイルの場所をパスで指定。

今回のファイルの配置は以下の通り
image

これでSQL Server 2008 R2のインストールの自動化は完成です。バッチファイルをダブルクリックすれば、SQL Serverのインストールが構成ファイルの内容に従って自動で走るはずです。

ちなみに、SQL ServerのSP(サービスパック)やHotfix類の自動インストールは以下の通りです。(/Xでファイルを展開後)SETUP.exe /IACCEPTSQLSERVERLICENSETERMS /QUIETSIMPLE=true

なお、今回はSQL Server 2008 R2で紹介しましたが、より新しいSQL Serverでも大体同じ方法でインストールの自動化は実現出来ると思います。

以上、駄文散文ではございましたが、ご拝読ありがとうございました。

Pocket
このエントリーをはてなブックマークに追加

コメントを書く

名前
必須