SQL Server Installation Detailed 安裝流程與規劃詳細說明

2022-01-17

說明如何安裝 SQL Server Developer 以及 Standard、Enterprise 各版本,同時比較 SQL Server 2019、SQL Server 2022 安裝方式的差異。並詳述安裝過程要考量的磁碟檔案格式、防火牆 1433 Port 設定以及累計更新 Cumulative Update 等注意事項。

最後羅列完成安裝後要進行的組態管理員設定以及維護計畫設定,讓資料庫伺服器的安裝動作一氣呵成,提早完成不拖泥帶水,悠閒享受一杯美好的鮮奶茶 ☕

SQL Server Logo

說明

本次的內容著重在安裝 SQL Server 的各注意事項,詳盡的軟體安裝流程另可參考 SQL Server Developer 安裝教學與步驟流程

安裝前

  • 確認磁碟檔案格式:

    • MDF 所在的磁碟最佳建議格式化為 NTFS 64KB
    • LDF 所在的磁碟最佳建議格式化為 NTFS 4KB
    • tempdb 如果不區分 MDF 與 LDF 最佳建議格式化為 NTFS 4KB;若需要區分則依上 MDF 以及 LDF 的最佳建議格式
  • 確認安裝版本 (Version & Edition)

    • 各種 Edition 使用的安裝 Source 相同,透過輸入的 License Key 決定安裝的 Edition
    • 注意作業系統最大可以的 Version
  • 確認安裝的版本是否為 Core-based License

可以參考史丹利在[SQL Server]檢查SQL Server真正使用到多少核心(Cores)的說明,用錯版本會讓超過 20 Core的伺服器,超出的部分沒有發揮到作用。

  • 確認使用核心數授權
    • 虛擬機最少 4 核心
    • 實體機 Hyper-Threading 不計入授權

🍧一定要知道的關於 SQL Server Cores 核心數授權的計算 🌏 (SQL Server License)

  • 是否為 Instance Stacking
    • 使用 IP 或者 Port 來區別 Instance

安裝中

  • 確認安裝需求功能 (保持需要的核心功能)
    • Database Engine
    • Integration Service ?
    • 全文檢索引擎 ?

預設安裝的基本核心功能

Temp File

進行 Temp File 以及 Memory Optimization 設定

TempDb 檔案數量 = Min(8, 伺服器核心數)

TempDb 預設給 1 GB 或參考現行生產伺服器的數值給予,成長給 512 MB。

Memory Optimization

下限為 4 GB (所以伺服器最少的記憶體必須大於 4 GB)

上限原則為在不影響 OS 的情況下,儘量的提供 SQL Server

每 4 GB 提供 1 GB 給 OS 或者每 8 GB 提供 1 GB 給 OS,OS 上限 16 GB 其他都當作 Memory 上限

MAXDOP

核心數 MAXDOP
>= 8 Cores 8
< 8 Cores 等於 Cores 數
NUMA 等於 NUMA 數

或是依據經驗法則,在 OLTP 的環境設定為 1/4 的 CPU數;在 OLAP 環境設定為 1/2 的 CPU數。

安裝後

Patch (Cumulative Update) & Service Packs

🍕Latest updates for Microsoft SQL Server

使用者權限指派

Windows Run secpol.msc

依序選擇「本機原則」後選擇「使用者權限指派」,並將 SQL Server Service 帳戶 NT Service\MSSQLSERVER 授予鎖定記憶體中的分頁執行磁碟區維護工作權限。

搭配執行磁碟區維護工作權限,需要確認是否啟用「檔案立即初始化(instant file initialization)」,使用 SQL Server 組態管理員進行調整,並且可以使用 T-SQL 進行確認:

SELECT servicename, instant_file_initialization_enabled 
  FROM sys.dm_server_services

可以參考史丹利在 [SQL Server][安裝]確認鎖定記憶體分頁(Lock Pages in Memory, LPIM)是否生效了 以及 [SQL Server][安裝]執行磁碟區維護工作(SQL Server 2016) 的說明,史丹利實驗了設定之後的具體效果。

Max Worker Threads

原則上不做調整,但如果發現資料庫伺服器有大量連線 sp_who2,可以參考微軟的建議值進行設定,驗證對於是否對效能改善有奇效幫助 😮

變更電源配置

powercfg /list
現存的電源配置 (* Active)
-----------------------------------
電源配置 GUID: 381b4222-f694-41f0-9685-ff5bb260df2e  (平衡) *
電源配置 GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c  (高效能)
電源配置 GUID: a1841308-3541-4fab-bc81-f71556f20b4a  (省電)

將電源配置切換為高效能

powercfg /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c

關於電源配置的討論可以參考 MSSQLTips Windows Server Power Management Effect on SQL Server

其他重要設定

  • 安裝 SQL Server Management Studio
    • 安裝檔不隨附於 SQL Server 需要另外下載

🍕Download SQL Server Management Studio (SSMS)

  • Tempdb 復原模式調整為 simple
  • 增設防火牆 Port 允許 TCP 1433 Port

Instance Stacking

依照 Port 區隔或者 IP 區隔,使用對應的方式於組態管理員進行設定

🍧SQL Server Instance Stacking (Multiple Instances)

使用設定

  • 設定維護計畫
    • 完整備份及清除作業
    • 交易紀錄備份及清除作業
    • 立即驗證維護清除作業

SQL Server 2019 有時候會發生維護清除無效的問題,造成累積的備份檔案越來越多。在維護計畫設定上,加入立即備份與立即刪除排程以驗證清除功能正常。

驗證維護清除作業

  • 設定 Operator & Database Mail
  • 申請資料庫備份
    • 備份連動至磁帶機、磁碟、雲端服務 進行長期保存
    • 根據 RPO 需求與稽核需求,保存時間不少於 6 個月

相關連結

🍧SQL Server 2019 Developer 安裝教學與步驟流程

SQL Server Design Considerations

確認鎖定記憶體分頁(Lock Pages in Memory, LPIM)是否生效了