地味にGUIのインストールに時間がかかる。パラメータが多ければ多いほど、設定ミスが起きる。これを避けたい。
閑話休題
ISOイメージの場所を環境変数に指定しておく。自分は、SQL Server 2022 Deloperエディションを利用した。
インストールパラメータは以下。
- データベースのみ
- SAのパスワードは”hogehoge”
- 所有者はローカルAdministrator
- TCP/IPの接続を有効
- 回復モードは完全
$ISOImagePath = "\\<ファイルサーバ>\ISO\SQLServer2022-x64-JPN.iso"
Mount-DiskImage -ImagePath $ISOImagePath
get-diskimage $ISOImagePath
$mountedDrive = (Get-DiskImage $ISOImagePath | Get-Volume).DriveLetter
$setupPath = $mountedDrive + ":\Setup.exe"
Set-NetFirewallProfile -Profile Domain, Public, Private -Enabled False
Start-Process -FilePath $setupPath -Argumentlist '/q /ACTION=Install /INSTANCENAME="MSSQLSERVER" /FEATURES=SQLEngine /SQLSVCACCOUNT="NT AUTHORITY\SYSTEM" /AGTSVCACCOUNT="NT AUTHORITY\SYSTEM" /SQLSYSADMINACCOUNTS="BUILTIN\Administrators" /IACCEPTSQLSERVERLICENSETERMS /TCPENABLED=1 /UPDATEENABLED="False" /SECURITYMODE=SQL /SAPWD="hogehoge"' -NoNewWindow -Wait | Out-Null
Dismount-DiskImage -ImagePath $ISOImagePath
$ENV:Path="C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn;"+$ENV:Path
sqlcmd -S localhost -U sa -P Password00! -d master -Q "ALTER DATABASE iisdb SET RECOVERY FULL;"
3分程度で完了するはず。ちょっとした、SQLサーバのテストでいちいちインストーラを立ち上げてポチポチしなくて済む。地味にsetupPathの取り出しに時間がかかってしまった。
誰かに役立つかもしれない小ネタでした。