如何於 Windows Server Core 中安裝 SQL Server 2012

本文將介紹如何於 Windows Server Core 中安裝 SQL Server 2012。

Windows Server 2008 開始提供 Server Core 的安裝模式,透過減少使用 GUI 功能,大幅降低因為 Windows Update 所需的重新開機次數,並提升作業系統的運作效能,藉以幫助系統管理員維護伺服器角色以及管理上的作業負擔。在以前的 SQL Server 並不支援在 Server Core 上面,而 SQL Server 2012 已經開始支援安裝在 Server Core,但目前只支援安裝在 Windows Server 2008 R2 SP1 Server Core`(以下本文將以此版本為說明),Windows Server 2008 則不支援,詳細安裝步驟,請見以下說明。

目前支援安裝在 Server Core 的功能列舉如下:

  • Database Engine Services
  • SQL Server 複寫
  • 全文檢索搜尋
  • Analysis Services
  • 用戶端工具連接性
  • Integration Services 伺服器
  • 管理工具 - 基本 / 完整 (僅限遠端)
  • Distributed Replay Client(僅限遠端)
  • Microsoft Sync Framework

由於 Server Core 環境的關係,安裝時您只能在命令列模式下,透過安裝程式參數或設定檔的方式來進行安裝,安裝前請先檢查您的環境是否滿足下列的必要條件:

  • .NET Framework 2.0 SP2
  • .NET Framework 3.5 SP1 Full Profile
  • .NET Framework 4 Server Core Profile
  • Windows Installer 4.5
  • Windows PowerShell 2.0

稍後筆者也會介紹如何透過 DISM 公用程式在 Server Core 環境下啟用安裝 SQL Server 2012 的必要條件。另外,特別提醒的是假設您要安裝的是 SQL Server 2012 Express,請先下載適用於 Server Core 的 Microsoft .NET Framework 4 (獨立安裝程式)回來安裝之後再開始安裝的作業。

接著我們先透過 DISM 公用程式來啟用上述的必要條件,程式碼如下:

   1: Dism /online /enable-feature 
   2: /featurename:NetFx2-ServerCore 
   3: /featurename:ServerCore-WOW64 
   4: /featurename:NetFx3-ServerCore-WOW64 
   5: /featurename:NetFx2-ServerCore-WOW64 
   6: /featurename:NetFx3-ServerCore 
   7: /featurename:MicrosoftWindowsPowerShell 
   8: /featurename:MicrosoftWindowsPowerShell-WOW64

當您安裝 SQL Server 後應該會希望可以從遠端來存取 SQL Server 的各項服務,接下來您可以利用 netsh 指令來建立具進階安全性防火牆的規則,建議您只需開通您想要安裝的服務,所對應的 PORT 即可,以下指令碼用來示範建立 SQL Server Database Engine、SQL DAC、SQL Browser、資料庫鏡像端點、SQL Server Broker、T-SQL 偵錯、SSAS、SSRS等服務所需的防火牆規則。

   1: netsh advfirewall firewall add rule name="SQLServer" dir=in action=allow protocol=TCP localport=1433 profile=any
   2: netsh advfirewall firewall add rule name="SQL DAC" dir=in action=allow protocol=TCP localport=1434 profile=any
   3: netsh advfirewall firewall add rule name="SQL Bwowser" dir=in action=allow protocol=UDP localport=1434 profile=any
   4: netsh advfirewall firewall add rule name="SQL Bwowser" dir=in action=allow protocol=UDP localport=1434 profile=any
   5: netsh advfirewall firewall add rule name="DB Mirroring EndPoint" dir=in action=allow protocol=TCP localport=5022 profile=any
   6: netsh advfirewall firewall add rule name="SQL Service Broker" dir=in action=allow protocol=TCP localport=4022 profile=any
   7: netsh advfirewall firewall add rule name="T-SQL Debugger" dir=in action=allow protocol=TCP localport=135 profile=any
   8: netsh advfirewall firewall add rule name="SQL Browser for AS" dir=in action=allow protocol=TCP localport=2382 profile=any
   9: netsh advfirewall firewall add rule name="SSAS" dir=in action=allow protocol=TCP localport=2383 profile=any
  10: netsh advfirewall firewall add rule name="HTTP SSRS" dir=in action=allow protocol=TCP localport=80 profile=any
  11: netsh advfirewall firewall add rule name="HTTPS SSRS" dir=in action=allow protocol=TCP localport=443 profile=any

最後您就可以利用安裝程式參數來安裝 SQL Server 服務,以下以安裝 Database Engine 以及 Replication 為例,您可以依照您的需求來安裝所需的功能,以及調整服務啟動帳戶或系統管理員帳戶。

   1: 安裝程式磁碟機代號:\setup.exe /q 
   2: /ACTION=Install 
   3: /FEATURES=SQLEngine,Replication 
   4: /INSTANCENAME=MSSQLSERVER 
   5: /SQLSVCACCOUNT="NT AUTHORITY\Network Service" 
   6: /SQLSYSADMINACCOUNTS="Administrator" 
   7: /TCPENABLED=1 
   8: /INDICATEPROGRESS=1 
   9: /IACCEPTSQLSERVERLICENSETERMS

 

【參考資料】