ドメイン コントローラー上に SQL Server のインストールはセキュリティ上の理由から推奨していませんが、検証環境などで、同居させることがあるかと思います。
通常のドメイン コントローラーであればセットアップ ウィザードにしたがってインストールすることができますが、読み取り専用ドメイン コントローラー (RODC) 上に SQL Server をインストールする場合、セキュリティ グループおよび SQL Server サービス アカウントは自動的に作成されないため、手動で準備する必要があります。
また SQL Server 2012 以降、インストールしたコンポーネント (機能) で使用される既定のサービス アカウントがセキュリティ グループで構成することができないものが出てきており、その場合は 管理されたサービス アカウント (MSA) を準備する必要があります。
本記事では、セキュリティ グループおよびグループ管理サービス アカウント (gMSA) を事前に準備し、RODC 上に SQL Server をインストールするための手順について纏めてみました。
なお、OS は Windows Server 2012 R2 Datacenter、SQL Server は SQL Server 2012 Service Pack 1 (SP1) Enterprise を使用しています。 またドメイン名は「rodcsqltest.com」、RODC のコンピューター名を「RODCSQL2014」、gMSA を「SQL2014」とし、ドメイン管理者 (administrator) を使用しています。
[注意事項]
本記事は動作検証用、および備忘録として纏めているものとなります。 下記 MSDN のサイトにも記載されていますが、ドメイン コントローラー上に SQL Server のインストールはセキュリティ上の理由から推奨していません。
- SQL Server インストールのセキュリティに関する注意点 – SQL Server 2014 https://msdn.microsoft.com/ja-jp/library/ms144228(v=sql.120).aspx
また、SQL Server のインストールにグループ管理サービス アカウント (gMSA) を使用することは現時点でサポートされていないことに注意願います。
- Windows サービス アカウントと権限の構成 – SQL Server 2014 https://msdn.microsoft.com/ja-jp/library/ms143504(v=sql.120).aspx
[セキュリティ グループおよび gMSA の作成手順]
プライマリ ドメイン コントローラー上で実施
- ドメインの Administrator 権限を持ったユーザーでログインします。
- サーバー マネージャーを起動し、[ツール] – [Active Directory ユーザーとコンピューター] をクリックします。
- 以下のグループについて、[グループの範囲] を 「グルーバル」、[グループの種類] を「セキュリティ」として <ドメイン名>\Builtin 配下に作成します。
- SQLServer2005SQLBrowserUser$<コンピューター名>
- SQLServerMSASUser$<コンピューター名>$<インスタンス名> ※Analysis Services をインストールする場合
- SQLServerMSASUser$<コンピューター名>$<PowerPivot インスタンス名> ※SQL Server PowerPivot for SharePoint をインストールする場合
- Analysis Services もしくは SQL Server PowerPivot for SharePoint をインストールする場合、以下のグループにドメイン ユーザー アカウントを追加します。
- PowerShell を起動し、以下のコマンドレットを入力、実行します。
Add-KdsRootKey -EffectiveTime ((get-date).addhours(-10)) Get-KdsRootKey New-ADServiceAccount -Name <サービス アカウント名> -Enabled $true -DNSHostname <DNS ホスト名> Set-ADServiceAccount -Identity <サービス アカウント名> -PrincipalsAllowedToRetrieveManagedPassword <サーバー名>$ Add-ADComputerServiceAccount -Identity <サーバー名> -ServiceAccount <サービス アカウント名>
RODC 上で実施
※この手順を実施するためには、上記手順「プライマリ ドメイン コントローラー上で実施」が完了、プライマリ ドメインコントローラーとドメイン情報の同期が取れた後に実施します。
- ドメインの Administrator 権限を持ったユーザーでログインします。
- PowerShell を起動し、以下のコマンドレットを入力、実行します。
Install-ADServiceAccount -Identity <サービス アカウント名>
[SQL Server のインストール]
RODC 上で実施
- ドメインの Administrator 権限を持ったユーザーでログインします。
- .NET Framework 3.5 をインストールします。
- 役割、役割サービス、または機能のインストールまたはアンインストール – .NET Framework 3.5 とその他の機能をオンデマンドでインストールする https://technet.microsoft.com/ja-jp/library/hh831809.aspx#BKMK_FoD
- SQL Server 2014 SP1 x64 のインストール メディアをドライブに挿入し、「Setup.exe」を実行し、[SQL Server インストール センター] を起動します。
- 「インストール」をクリックし、「SQL Server の新規スタンドアロン インストールを実行するか、既存のインストールに機能を追加します。」をクリックします。
- 「プロダクト キーを入力する」を選択、プロダクト キーを入力した後、[次へ] ボタンをクリックします。
- 「ライセンス条項に同意します。」のチェックボックスをオンにし、[次へ] ボタンをクリックします。
- [次へ] ボタンをクリックします。
- Microsoft Update を使用して更新プログラムを確認するかどうか選択後、[次へ] ボタンをクリックします。
※今回はそのまま [次へ] ボタンをクリックしています。 - [次へ] ボタンをクリックします。
- 機能ロールを選択し、[次へ] ボタンをクリックします。
※今回は「SQL Server 機能のインストール」を選択しています。 - インストールする機能を選択し、[次へ] ボタンをクリックします。
※今回は [インスタンス機能] – [データベース エンジン サービス]、[インスタンス機能] – [データベース エンジン サービス] – [検索のためのフルテキスト抽出とセマンティック抽出]、[インスタンス機能] – [Analysis Services]、[インスタンス機能] – [Reporting Services – ネイティブ]、[共有機能] – [Integration Services]、[共有機能] – [管理ツール – 基本]、および [共有機能] – [管理ツール – 完全] のチェックボックスをオンにしています。 - [次へ] ボタンをクリックします。
- SQL Server インスタンス名およびインスタンス ID を選択後、[次へ] ボタンをクリックします。
※今回は「既定のインスタンス」を選択しています。 - 各 SQL Server サービスに使用するアカウント、およびパスワードを入力し、[次へ] ボタンをクリックします。 Anaylsis Services は、ドメイン ユーザー アカウントとパスワードを入力、それ以外はサービス アカウント名 (gMSA) を入力する必要があります。
※今回は [スタートアップの種類] をすべて [自動] としています。 - データベース エンジンにおける項目を設定し、[次へ] ボタンをクリックします。
※今回はサーバーの構成における認証モードを「Windows 認証モード」とし、インストールしている現在のユーザーを追加しています。それ以外の項目については、デフォルトのままとしています。
- Anaylsis Services の構成における項目を設定し、[次へ] ボタンをクリックします。
※今回はサーバー モードを「多次元およびデータ マイニング モード」とし、インストールしている現在のユーザーを追加しています。それ以外の項目については、デフォルトのままとしています。
- Reporting Services の構成における項目を設定し、[次へ] ボタンをクリックします。
※今回は「インストールと構成。」を選択しています。 - [次へ] ボタンをクリックします。
- [インストール] ボタンをクリックします。
- インストールが完了したら、[閉じる] ボタンをクリックし、[SQL Server インストール センター] の画面を閉じて、SQL Server のインストールを終了します。
インストール後、SQL Server 構成マネージャーからは、インストールした機能 (サービス) が開始されていることが確認できました。
[参考]
- Windows サービス アカウントと権限の構成 – SQL Server 2014
https://msdn.microsoft.com/ja-jp/library/ms143504(v=sql.120).aspx - SQL Server インストールのセキュリティに関する注意点 – SQL Server 2014
https://msdn.microsoft.com/ja-jp/library/ms144228(v=sql.120).aspx - Travis Gan: SQL Server Service Account and Per-Service SID
http://www.travisgan.com/2013/06/sql-server-service-account-and-per.html - gMSA を使用して SQL Server をインストール at SE の雑記
http://blog.engineer-memo.com/2014/02/09/gmsa-%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6-sql-server-%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/