[心得筆記]Tech-ed 2013 DBI-B020 Lean and Mean: Running Microsoft SQL Server on Windows Server Core
利用一點時間把 Tech-ed 2013 DBI-B020 給看完,也自已把課程上的東西在練習一次,其中一些重點覺得蠻不錯的,先整理下來當成特殊狀況的時候可以參考用。
Server Core 的優點:
- 因為沒有安裝太多 GUI 管理介面的東西,只留下必要的部分,因此佔的空間減少很多。既然裝的東西比較少,那麼會需要 Patch 的機會也相對少很多,也就比較不需要重開機了。
- 既然比較少東西,也比較少會有漏洞,且都只有服務的程式在執行,因此可透過內建的防火牆來管控,而可以不用再安裝防毒程式在上面了,相對來說應該會有比較好的效能。
- 如果有需要重新開機的時候,因為執行的服務比較少一點,所以可以快一點啟動完畢可以執行服務。
- 對管理人員來說,為了要能更有效率管理主機,就勢必要手動的利用一些工具來做管理,像是 sconfig, netsh , powershell , netdom 等。
Server Core 上的 SQL Server 安裝:
- 安裝 SQL Server 的時候必須要先安裝 .Net Framework,如果又要使用 gMAS 的時候也需要安裝 PowerShell for AD 的套件。這些如果熟悉指定的話,可以透過 DISM 下參數來進行安裝,但如果嫌麻煩的話,可以利用其他的 Windows Server 2012 或者是 Windows 8 ,利用伺服器管理員連接其他伺服器,利用 GUI 介面來指定安裝的角色和服務。( 參考附圖一、附圖二)
- 不能直接透過 setup.exe 啟動 GUI 的安裝畫面,必須要自己利用傳遞參數或者是參數檔的方式來進行安裝,利用參數檔算是不錯的方式,避免需要背那麼長的安裝參數,且可以重複使用,避免有參數遺漏。
- 參數部分比較容易忽略兩個地方,一個是 SQLSysAdminAccount,多半的範例都是指定 "Administrator" ,我個人比較建議是設定 "BUILTIN\Administrators" ,這樣遠端管理的時候會比較方便;另外一個是 SQLCollation 的參數,這個參數雖然不是必須的,但如果沒有指定那勢必後續還是要透過安裝程式來更改,最好在安裝的時候就一次指定正確會比較合適。
- 當安裝錯誤的時候也不用太緊張,可以下指令 notepad 開啟記事本的功能,打開 "C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap" 目錄下的 Summary.txt 檔案,檢查參數是否有錯。有些時候他提示錯誤參數的訊息不見得正確,可能是接在後面的參數下錯了,像是少了一個 "/" 符號,造成參數錯誤。因此可以透過 Summary.txt 確認相關參數是否有錯,再重新進行安裝即可。( 參考附圖三)
附圖一
附圖二
附圖三
Server Core 的注意事項:
- 如果要透過遠端「電腦管理」的時候,必須先使用 PowerShell 去開啟防火牆的設定時,一般會介紹採用:
Enable-NetFirewallRule -displaygroup "Remote Service Management" Enable-NetFirewallRule -displaygroup "Remote Event Log Management" Enable-NetFirewallRule -displaygroup "Remote Volume Management" Enable-NetFirewallRule -displaygroup "Windows Firewall Remote Management"
- 上述的指令都不能用在中文版上,因為已經翻譯成為中文了,所以要更改一下:
Enable-NetFirewallRule -displaygroup "遠端服務管理" Enable-NetFirewallRule -displaygroup "遠端事件紀錄檔管理" Enable-NetFirewallRule -displaygroup "遠端磁碟區管理" Enable-NetFirewallRule -displaygroup "Windows 防火牆遠端管理"
- 因為 Server Core 環境上並不能開啟「本機安全性原則」的設定作業,因此可以到其他台電腦設定好之後,利用匯出原則的方式產生 inf 檔案,再到 Server Core 主機上利用 secedit 來做匯入 ( 可參考 Installing SQL Server 2012 on Windows Server Core Part 3 )