SQL Server:構成ファイルを使用したインストールとデモスクリプト(Azure, Powershell)(1)

Microsoft

2023.03.13

始めに

本コラムではMicrosoft SQL Server を CUIでインストールする方法について解説します。

ウィザード(GUI)による構築は直感的にわかりやすいメリットはありますが、以下のような課題もあります。

  • 大量の画面キャプチャや押下場所のハイライトなど、構築作業の手順書の作成やメンテナンスが大変
  • 実際の作業時の手順や証跡管理が煩雑

幸い、SQL Server は構成ファイルやパラメータを使用したインストール法も用意されています。この機能を使用することで、GUIに比べて以下のような工数の削減が期待できます。

  • 作業がテキストの貼り付けと実行だけになり証跡の作成が減らせる。入力したコマンドや最後に出力される結果ファイルの回収で十分。
  • 手順書の修正が、コマンドの修正だけで済む。

ただし、GUIと比べて準備にはいくつか戸惑った点がありました。本コラムではこれらについて補足しつつ、構成ファイルとパラメータの作成の流れとその適用までを紹介します。

使用するバージョンはMicrosoft SQL Server2019 を想定して記述しています。
付録としてこれらの作業を支援するスクリプト、Microsoft Azure上に検証環境を構築するスクリプトのサンプル、およびスクリプトを使用して適用までを記録した動画を用意しました。

1. 構成ファイル作成手順

自動インストールに使用する構成ファイルは、インストール時のコマンドラインパラメータとほぼ同一です。いきなりテキストから作ることもできますが、今回は以下の流れで紹介します。

構成ファイル作成手順

インストールしない状態で大体2GBくらい使用します。空き容量があまりに少ないとインストールウィザードの途中で容量不足の警告が出て進めなくなってしまうので、注意。

1.1. SQL Serverインストーラーの入手

構成ファイル作成手順

構成ファイルを作る端末でインストーラーを用意します。ここではExpress Editionを例として扱います。

ダウンロードセンター

メディアの用意がない場合、ダウンロードセンターよりファイルをダウンロードします。言語を設定し「ダウンロード」をクリックします。(下記のリンクは2022年12月13日 現在のものです。)
Microsoft® SQL Server® 2019 Express
https://www.microsoft.com/ja-jp/download/details.aspx?id=101064

ダウンロードセンター
ダウンロードセンター

『SQL2019-SSEI-Expr.exe』
がダウンロードされます。

インストールの種類を選択

『SQL2019-SSEI-Expr.exe』
を実行し「メディアのダウンロード」をクリックします。

インストールの種類選択
インストールの種類選択

インストーラーのダウンロードを指定

ダウンロードするインストーラーの言語とダウンロード先、パッケージの種類を選択します。
今回はExpress Coreを選択します。 SQL Server Advanced を選択した場合はダウンロードされるファイルとセットアップウィザードの項目が異なります。適時置き換えてください。

インストーラーのダウンロードを指定する
インストーラーのダウンロードを指定する

ダウンロード完了

指定したフォルダに『SQLEXPR_x64_JPN.exe』 がダウンロードされます。

ダウンロードに成功
ダウンロードに成功

info

Express Editionと Evaluation Edition で挙動が異なります。Webページからダウンロードされるファイルも似通っているので、例と違う場合は再確認してください(使用は可能です)。

エディション 選択 ファイル
Express Express Core SQLEXPR_x64_JPN.exe
Express Express Advanced SQLEXPRADV_x64_JPN.exe
Express Local DB SqlLocalDB.msi
Evaluation ISO SQLServer2019-x64-JPN.iso
Evaluation CAB SQLServer2019-x64-JPN.exe
SQLServer2019-x64.box
info

ウィザードを使用せず、コマンドラインでこれらをダウンロードすることも可能です。/HELPオプションを付けて実行することで確認できます。

1.2. インストーラーの展開と起動

構成ファイル作成手順

今回のようにExpress Edition の場合、既定では構成ファイルが作成されないウィザードが開始されるので以下のように実行します。
SQLEXPR_x64_JPN.exe /UIMODE=Normal /ACTION=INSTALL

ExpressCore用インストーラーの起動コマンド
ExpressCore用インストーラーの起動コマンド

「展開されたファイルのディレクトリの選択」画面でOKを押します。

展開されたディレクトリの選択
展開されたディレクトリの選択

「SQL Server 2019セットアップ」が開始されます。[ライセンス条項」の画面が出てしまった場合は実行ファイルを確認してください。

実行するとファイルの展開後にSetup.exeが起動して、「SQL Server 2019セットアップ」が起動します。

左ペインの下の方に「インストールの準備完了」があることを確認します。ない場合はコマンドラインが正しく認識されていない可能性があります。

SQL Server 2019セットアップ

info

コマンドラインを指定しなかった場合は「SQL Server インストールセンター」が起動します。
左ペインにあるインストール > 右ペインの「SQL Server の新規スタンドアロンインストールを実行するか、既存のインストールに機能を追加」をクリックすると「SQL Server 2019セットアップ」に進めます。

Express Editionの場合、この画面からインストールを開始した場合、構成ファイルの作成と確認ができる「インストールの準備完了」画面がありません。
Express Edition以外の場合はインストールの準備完了画面があるウィザードになります。

インストールの準備完了

1.3. セットアップウィザードで設定を作成する

セットアップウィザードを進めていきます。ここで入力する内容で構成ファイルが作成されます。

プロダクトキー

選択、または入力して [次へ] をクリックします。

info

プロダクトキーは構成ファイルに保存されません。構成ファイルを直接編集するか、コマンドラインで指定します。

プロダクトキー
プロダクトキー

ライセンス条項

「ライセンス条項と次に同意します」にチェックを入れて [次へ] をクリックします。

info

ライセンス条項に同意しても、構成ファイルには記録されません。構成ファイルを直接編集するか、コマンドラインで指定します。

ライセンス条項
ライセンス条項

Microsoft Update

[次へ]をクリックします。

MicrosoftUpdate
MicrosoftUpdate

製品の更新プログラム

[次へ]をクリックします。

製品の更新プログラム
製品の更新プログラム

インストール ルール

[次へ]をクリックします。

インストールルール
インストールルール

機能の選択

必要な機能にチェックを入れ、[次へ]をクリックします。この端末に存在しないパスなどは指定できないので、仮のパスを指定しておきます。

機能の選択
機能の選択

info

この端末に存在しないドライブレターを指定したり、容量不足などの問題がある場合はエラーが発生して先に進めません。こういったパスを使う必要がある場合、ここでは仮のパスを指定してあとから構成ファイルを編集します。
一時的に「ディスクの管理」から仮想ドライブを作って、そこに目的のドライブレターを指定することで回避することもできます。可変容量にすれば容量の問題も解決できます。

エラー

インスタンスの構成

設定して[次へ]をクリックします。

インスタンスの構成
インスタンスの構成

info

Express Editionの既定値は「名前付きインスタンス:SQLExpress」です。「既定のインスタンス」を選択すると「MSSQLSERVER」になり、これはその他のバージョンの既定値になります。

サーバーの構成

同様に設定していきます。設定は導入するサーバーから見た値で、設定できないならば仮のものを入れます。

サービスアカウント

この端末に存在しないアカウントは指定できないので、仮のアカウントを指定しておきます。

サービスアカウント
サービスアカウント

info

端末にないアカウントを指定するとエラーとなるので、仮のアカウントを入れて、あとから構成ファイルを修正します。
また、パスワードを入力しても構成ファイルには含まれません。構成ファイルを修正するか、インストールコマンドのパラメーターとして設定します。
これらは他の設定項目でも同様です。

エラー

照合順序

照合順序を指定して [次へ] をクリックします。

照合順序
照合順序

データベースエンジンの構成

こちらも同様に設定していきます。

サーバーの構成

認証モードとSQL Server 管理者の設定を行います。
SQL Server 管理者はこの端末のものしか入力できないので仮に入力します。
混合モードにした場合に入力するパスワードは、複雑さ要件を満たす適当なものを入れておきます。これも構成ファイルには反映されません。

サーバーの構成
サーバーの構成

データディレクトリ

同様に設定していきます。

データディレクトリ
データディレクトリ

TempDB

TempDB
TempDB

メモリ

メモリ
メモリ

ユーザーインスタンス

ユーザーインスタンス
ユーザーインスタンス

FILESTREAM

FILESTREAM
FILESTREAM

いずれかのタブで「次へ」をクリックすると、機能構成ルールの評価が行われ「インストールの準備完了」に進みます。

インストールの準備完了

インストールの準備完了画面が表示されれば、構成ファイルが出来上がっているはずです。
「構成ファイルのパス」をエクスプローラーに張り付けると、メモ帳等で構成ファイルが開けるはずです。
このファイルを保存したら、「キャンセル」をクリックしてウィザードを終了します。

インストールの準備完了

インストールの準備完了
インストールの準備完了

構成ファイル

構成ファイルのパス
構成ファイルのパス

作成された構成ファイル
作成された構成ファイル

キャンセルをクリックした後、「はい」をクリックします。

セットアップのキャンセル
セットアップのキャンセル

次回は「2. 構成ファイルの編集とコマンドの準備」以降について、ご説明します。

参考資料

※文章中の商品名、会社名、団体名は、各社の商標または登録商標です。

SQL Server:構成ファイルを使用したインストールとデモスクリプト(Azure, Powershell)(1)