[SQL]在 Server Core 模式安裝 SQL Server

[SQL]在 Server Core 模式安裝 SQL Server

最近想開始測試 Windows Server 2016 Containers,看起來似乎蠻不錯的,因為在上面都是 Command 模式,因此先在 Windows 的 Server Core 模式練習安裝 SQL Server,後續再來測試看看是否有機會在上面安裝。

因此我先準備重新安裝一個新的 Windows Server 2012 R2,設定為 Server Core 的模式。安裝好之後,透過 sconfig 進行相關網路和名稱設定

因為安裝 SQL Server 必須要先有 .Net Framework 3.5 的執行環境,因此透過 Powershell 的 Install-WindowsFeature 的指令,並且指定 Windows 安裝光碟片下的 sources\sxs 的目錄為來源,就可以將 .Net Framework 3.5 給安裝上去了。

前置環境預備好之後,就可以透過 SQL Server 安裝片來安裝 SQL Server 了。如果您是要在 Windows 下掛載 ISO 檔案,可以使用 Powershell 的 Mount-DiskImage 指令,指定 ISO 檔案就可以了。但我的測試環境是在 Hyper-V 模式下,就不用那麼麻煩了。因此切換好 ISO 檔案之後,就可以在 SQL Server 安裝目錄下使用 setup 搭配安裝參數來進行安裝了。我是使用以下的指令來安裝,如果想要了解所有安裝程式可以指定的參數,可以透過 MSDN 的網站來查看

Setup.exe /QS /ACTION=Install /FEATURES=SQL,CONN,IS /INSTANCENAME=MSSQLSERVER /IACCEPTSQLSERVERLICENSETERMS=1 /UPDATEENABLED=False /SAPWD=P@ssw0rd /SECURITYMODE=SQL /SQLCOLLATION=Chinese_Taiwan_Stroke_BIN2 /TCPENABLED=1 /SQLSYSADMINACCOUNTS=BUILTIN\Administrators

到這裡如果都沒有問題,那基本上安裝就沒有問題了。但因為 Windows Server 內建的防火牆是開啟的,因此要再透過 Powershell 的指令來開通 SQL Server TCP 1433 的端點允許連接

Net-NetFirewall -DisplayName "SQLPort" -Direction Inbound -LocalPort 1433 -Protocol TCP -Action Allow

完成上述相關設定之後,我們就可以在遠端透過 SSMS 直接連接,並且進行相關設定了。

因為是採用 Server Core,因此可能要再開一些防火牆的設定,這樣方便透過遠端來管理,因此我另外加上 "遠端服務管理";如果還有其他需要,可以按照狀況把 "遠端事件記錄檔管理" 或 "遠端磁碟區管理" 這些群組也開啟,這樣就可以更方便透過遠端用一些既有的 GUI 管理介面直接管理伺服器了。

Enable-NetFirewallRule -DisplayGroup "遠端服務管理"