迷走ITProですわな~

ITPro駆け出しによるブログ。ゆるくいきます

Powershell DSCによるSQL Serverのインストール 【Part 1】

PowerShell DSCってなんぞや?の方はこちらを一読ください。 www.atmarkit.co.jp

クラウドやDocker等、開発者にとって検証環境を用意するのがどんどん楽になっているのは間違いないですが、構築・構成管理の自動化技術はまだまだ一般的なWindows SIの現場に浸透しているとは思えません。 特に私のような従来のオンプレSIでバリバリやってる現場ですと、結構無縁の世界に生きてます(笑)

そんな私ですが、興味はあるのでこのPowerShell DSCでInfrastructure(Configration) as Codeの扉を叩こうかと思った次第です。
とりあえずタイトル通り、SQL Server 2014をWindows Server 2016に展開してみようかと思います。
SQL Server 2016じゃない理由は後述

ちなみに勉強ネタとしては以下2点。
日本語で素晴らしい記事を書いてくださっている方がいらっしゃったので熟読させて頂きました。 あとは実際MVAのデモで雰囲気を掴んでTryあるのみですね。(※英語ですが耳がついていけなくても十分参考になります)

www.adventar.org mva.microsoft.com

一先ず、DSCお試しなのでPUSHモードで実験します。
DSCに関する構成は既定のまま
f:id:michaelowen628:20170408231313p:plain

で、SQL Serverに関するDSCリソースは既定で配置されていないので、GitHubからとってきます。 さすがにお試しで、カスタムDSCリソースは書けません。。。MSのPowerShellチームを中心にオープンに開発されているようなので利用させて頂きます。 ※これが現時点でSQL Server 2016のインストーラに対応していないようなので今回は2014になります。(SSMS分離とかね)

DSCリソースの配置ですが、Linuxのパッケージ管理apt-getみたいな形で管理する方法と、オフライン環境において自分で配置する方法があります。

・オフライン環境
SQL ServerのDSCリソースファイルは以下なので、ダウンロードして展開したものをそのままC:\Program Files\WindowsPowerShell\Modulesに置きます。
GitHub - PowerShell/xSQLServer

・オンライン環境
以下のコマンドで自動配置・更新が可能です。

Find-Module -name xSQLServer | Install-Module
Get-DscResource *SQL*

こんな感じ
f:id:michaelowen628:20170408232525p:plain

次回はこのDSCリソースを使って、シンプルなSQL Serverを展開してみます。