SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

SQL Server Sysprep による SQL Server の展開

leave a comment

SQL Server 2008 R2 以降では、SQL Server Sysprep による SQL Server インスタンスの展開準備と展開を実施することが可能になりました。
SysPrep を使用して SQL Server 2008 R2 をインストールする方法
SysPrep を使用した SQL Server のインストールに関する注意点

Windows Sysprep と組み合わせることで、インスタンスの展開を簡略化することが可能となります。

今回はこの SQL Server Sysprep についてまとめていきたいと思います。

■SQL Server Sysprep で展開できる機能


SQL Server Sysprep で展開できる機能は以下の 2 種類となります。

  • データベース エンジン
  • Reporting Services

インスタンスに関してはスタンドアロン インスタンスのみとなっており、フェールオーバー クラスタ インスタンスでは SQL Server Sysprep はサポートがされていません。
# WSFC のインスタンスを Sysprep で対応するというのはめったにないと思いますけども

SSAS / SSIS に関してはサポートされている機能に入っていません。

また、SSMS (SQL Server Management Studio) や BIDS (BI Development Studio) に関しても SQL Server Sysprep で展開できる機能としては準備されていせんので注意が必要かもしれないですね。
# この辺は Sysprep ではなく事前にインストールしておけば対応できそうですが。

 

■SQL Server Sysprep の流れ


SQL Server Sysprep は以下の 2 つのタスクで実行されます。

  1. イメージの準備
  2. イメージの完了

イメージの準備タスクでは、選択した SQL Server の機能のファイルを配置します。
イメージの完了タスクで SQL Server を起動するためのインスタンス特有の設定 (システムデータベースの作成含む) を行います。

それでは SQL Server のインストーラーを起動して SQL Server Sysprep を実行してみたいと思います。

今回は SQL Server 2008 R2 CU5 を統合したインストーラーを使っています。
修正プログラムが統合されたインストーラーの作成に関しては以下の技術情報に記載されています。
SQL Server 2008 のインストールを更新またはスリップストリームする方法

タイトルが SQL Server 2008 として記載されていますが、SQL Server 2008 R2 でも使用することが可能です。
# 対象製品に SQL Server 2008 R2 も含まれていますので。

[手順 2: 結合されたドロップの作成] が統合されたインストーラーの作成手順になります。
SQL Server 2008 R2 CU5 には、setup.rll ファイルは含まれていませんのでこのファイルのコピーは行いません。
# setup.exe.config が含まれているので、これは CU のファイルに上書きをしておきました。
また、[Defaultsetup.ini] に [PCUSOURCE] のエントリを追加する手順が含まれていますが、これは実施していません。
# RTM のインストーラーに含まれるファイルを CU のファイルで上書きしているため。

■イメージの準備


  1. [詳細設定] → [SQL Server のスタンドアロン インスタンスのイメージの準備] をクリックします。
    image
  2. [OK] をクリックします。
    image
  3. [ライセンス条項に同意する] を有効にして、[次へ] をクリックします。
    image
  4. [インストール] をクリックします。
    image
  5. [次へ] を起動します。
    image
  6. インストールする機能を選択して、[次へ] をクリックします。
    ここでは SQL Server Sysprep で
    image
  7. [インスタンス ID] を入力して、[次へ] をクリックします。
    今回は既定のインスタンスをインストールしようと思いますので [MSSQLSERVER] としていますが、インスタンス ID とインスタンス名は異なっていても問題ありません。
    image
  8. [次へ] をクリックします。
    image
  9. [次へ] をクリックします。
    image
  10. [準備] をクリックします。
    image
    image
  11. [閉じる] をクリックします。
    image

以上で準備は完了です。
準備が完了すると、指定したディレクトリに SQL Server のコンポーネントが展開されます。
image

この状態では、SQL Server のコンポーネントのみが展開された状態で、SQL Server はサービスとしては実行されていません。
# VSS Writer は共通機能になるのでサービスはインストールされているのですが。
image

この段階では SQL Server を起動させるためのプログラム群の配置だけで、システムデータベースは作成されていないため起動できないというのもあるのですが。
image

インストールの準備でインストールをした SQL Server のインスタンスの機能ですが、[Enterprise Evaluation Edition] として認識がされます。
# インストールの準備ではプロダクト ID を指定していないため。
image

 

展開したコンポーネントを使用して、SQL Server を実行するためには [イメージの完了] を実行します。

■イメージの完了


イメージの完了を実行するためには 2 つの方法があります。

  1. インストールメディアから [SQL Server の準備済みスタンドアロン インスタンスのイメージの完了] を実行
    image
  2. [スタート] → [Microsoft SQL Server 2008 R2] → [構成ツール] → [SQL Server 2008 R2 のインストールの完了] を実行
    image

インストールメディアから実行する場合には特に注意事項はないのですが、スタートメニューから実行する場合には注意点があります。
スタートメニューのインストールの完了ですが、以下のコマンドが実行されています。

"C:Program FilesMicrosoft SQL Server100Setup BootstrapSQLServer2008R2setup.exe" /action=completeimage /installmediapath="C:SQL2008R2x64setup"

[/action] はイメージの完了をアクションとして実行するための設定なのですが、[/installmediapath] という指定がされています。
SQL Server Sysprep による SQL Server インストールの完了にはインストールメディアを使用する必要があります。
SQL Server 2008 R2 の Express 以外であれば準備を実行した際に起動した setup.exe のパスが埋め込まれます。

SQL Server の Express Edition を使う場合ですが、ダウンロードしてきたモジュールを実行して自動展開でインストールを行うと C ドライブの直下に一時ディレクトリとしてモジュールが展開されます。
そのため、スタートメニューの [イメージの完了] のインストールメディアのパスに一時ディレクトリのパスが指定されてしまいます…。
一時ディレクトリはセットアップを終了すると削除されてしまいますので、自動展開を使用した場合はスタートメニューからイメージの完了を実行することができません。
SQL Server Express を使用する場合は、ダウンロードしたモジュールを [/extract:<展開先のパス>] で展開をし、展開したディレクトリから setup.exe を実行して、イメージの準備を実行する方が良いと思います。

それでは、実際にイメージの完了を実行してみます。
今回はインストールメディアの setup.exe から実行しています。

  1. [SQL Server の準備済みスタンドアロン インスタンスのイメージの完了] をクリックします。
    image
  2. [OK] をクリックします。
    スタートメニューからイメージの完了を実行した場合はこの画面から始まります。
    image
  3. [インストール] をクリックします。
    image
  4. [次へ] をクリックします。
    image
  5. [次へ] をクリックします。
    以下の画像では、プロダクトキーは消してしまっていますが、ここで指定されているプロダクトキーが使用され、SQL Server のエディションが決定されます。
    image
  6. [ライセンス条項に同意する] を有効にして、[次へ] をクリックします。
    image
  7. 事前に準備をしているインスタンス [ID] を選択して、[次へ] をクリックします。
    image
  8. [次へ] をクリックします。
    準備の完了では、準備をしたインスタンス ID で有効にした機能から変更することはできません。
    image
  9. インスタンス名を設定して、[次へ] をクリックします。
    今回は既定のインスタンスを設定しています。
    image
  10. サービス アカウントと照合順序を設定して、[次へ] をクリックします。
    image
  11. データベースエンジンの構成を設定して、[次へ] をクリックします。
    image
  12. 今回は SSRS をインストールするように設定をしたので、SSRS の構成が表示されます。
    デフォルトの状態で [次へ] をクリックします。
    image
  13. [次へ] をクリックします。
    image
  14. [次へ] をクリックします。
    image
  15. [完了] をクリックします。
    この時に [構成ファイルのパス] に今まで設定していた情報が ini ファイルとして保存されます。
    この構成ファイルですが Windows Sysprep と SQL Server Sysprep を連動させる際のサイレントインストールで使用することができますので、サイレントインストールの予定がある場合はコピーしておくと便利だと思います。
    # パスワード系に関しては埋め込まれませんので、編集する必要があります。(sa のパスワード : SAPWD 等)
    image
    このタイミングで SQL Server を起動するに必要な設定 (システムデータベースの作成含む) が行われます。
    image
  16. [閉じる] をクリックします。
    image

以上で [イメージの完了] は終了です。

設定された情報でシステムデータベースが作成され SQL Server が起動します。
[インストール済み SQL Server 機能の検出レポート] でエディションを確認してみます。
image

SQL Server のエディションが Enterprise Evaluation から Data Center Edition に変更されています。
# 今回は Datacenter Edition のプロダクトキーを使用しています。

SQL Server のサービスも起動していることが確認できますね。
image

SQL Server Sysprep ができるようになったことで Windows Server Sysprep 時の SQL Server の展開にかかる時間を少なくすることができると思います。
# サイレントインストールを使用すれば以前も Windows Sysprep 時にインストールすることができると思いますが、プログラムの展開から実行されるので時間がかかりますよね。

次の投稿では SQL Server Sysprep と Windows Server Sysprep を連動させて VM Role 上で SQL Server Express Edition を起動してみたいと思います。

Written by masayuki.ozawa

1月 15th, 2011 at 3:08 pm

Posted in SQL Server

Tagged with ,

Leave a Reply

*