SQL Server 2005 Express の無人インストールの設定と、インストール後の各種設定をコマンドでやる方法です。
システムに詳しくないところをターゲットにしたパッケージ等に使えると思います。
なお、インストール先にはまだ SQL Server が入ってないという前提と、管理者権限での実行が必要です。
また、SQL Server のインスタンスは既定のもの( MSSQLSERVER )とします。
なぜならば、インスタンスが規定でないとTCPのポートが動的になり、ファイアウォール回避が面倒だからです。
SQL Server 2005 本体のサイレントインストールは Setup.exe に必要な設定をあらかじめ記述した ini ファイルをわたしてやるだけで構いません。
SQL Server 2005 Express Edition with Advanced Services SP2 の場合、SQLEXPR_ADV_JPN.EXE を解凍すると、Setup.exe と同じフォルダに template.ini というファイルがあるとおもます。このファイルにいろいろ書いていけばOKです。
このファイルの各設定項目については、MSDN:コマンド プロンプトから SQL Server 2005 をインストールする方法の「.ini ファイルを使用して SQL Server 2005 のコマンド プロンプト インストールを実行するには」にパラメタの細かい説明が載っています。
インストールフォルダや、コンポーネント、認証の方式などいろいろ変更できます。
今回は下記の部分だけパラメタを変更してみました。
[Options]
USERNAME=aaaa
COMPANYNAME=bbbbb
;コンポーネント全てインストール
ADDLOCAL=ALL
;インスタンス名は既定のやつ(MSSQLSERVER)
INSTANCENAME=MSSQLSERVER
SQLBROWSERAUTOSTART=1
SQLAUTOSTART=1
;認証は SQL 認証も使うように
SECURITYMODE=SQL
;sa のパスワード
SAPWD=1234
これで、この template.ini ファイルを引数として下記のように setup.exe をたたくとサイレントインストールが始ります。(どうやらiniファイルは絶対パスじゃないといけないみたいです)
>Setup.exe /settings c:\template.ini /qn
なお、/qn のパラメタをつけると、一切のウィザード画面がでてこず、本当にサイレントインストールとなります。
なので、実際の運用時は適当なプログレスバーとか、現在進行中のログ内容を表示してあげたりとかしたほうが親切かもしれませんね。
一応下記のログファイルを見れば正常にインストールできたかどうかは判断できます。
%ProgramFiles%\Microsoft SQL Server\90\Setup Bootstrap\LOG\Summary.txt
次回は、インストール後の設定でネットワーク越しに SQL Server にアクセスできるようにする方法です。