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


  1. 說明
    1. 安裝前
    2. 安裝中
      1. Temp File
      2. Memory Optimization
      3. MAXDOP
    3. 安裝後
      1. Patch (Cumulative Update) & Service Packs
      2. 使用者權限指派
      3. Max Worker Threads
      4. 變更電源配置
      5. 其他重要設定
      6. Instance Stacking
    4. 使用設定
  2. 相關連結

說明如何安裝 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)是否生效了