首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 高效能伺服器部署全方位指南:硬體、OS、資料庫、架構四層優化

     編輯:關於SqlServer

一、伺服器規劃:硬體基礎決定上限

項目建議規格理由
作業系統Windows Server 2019/2022 64-bit支援大記憶體、新核心排程器、容器化
SQL Server2019/2022 Enterprise 64-bit記憶體內 OLTP、Columnstore、智慧查詢處理
網路10 GbE / 25 GbE降低延遲、支援可用性群組同步、備份傳輸
儲存NVMe SSD / 全閃存陣列 RAID 10隨機 IOPS 高、延遲低、RAID 5 寫入懲罰大
叢集大小64 KB匹配 SQL Server Extent (64 KB),減少讀取修改寫入
磁碟分區C: OS、D: SQL 二進位、E: 資料檔、F: 記錄檔、G: TempDB、H: 備份IO 隔離、故障域分離、效能監控清晰

二、系統層設定:釋放硬體潛能

舊架構相容設定(參考歷史)

  • Windows 2003 x86 + SQL 2005 x86 + 12GB RAM:
     啟用 /PAE (boot.ini) → gpedit.msc 「鎖定記憶體頁面」 → 虛擬記憶體移至非系統碟 → 網路效能選「最大化網路應用程式輸送量」

現代標準設定(2016+)

  • 鎖定記憶體頁面:授予 SQL 服務帳號 SeLockMemoryPrivilege,防止分頁到磁碟
  • 電源計畫:高效能模式,關閉 CPU 節能狀態 (C-states)
  • NUMA 感知:SQL Server 自動偵測,確保 MAXDOP ≤ 單 NUMA 核心數
  • 巨型頁面:TF 834 啟用大頁面(Enterprise 版),減少頁表開銷
  • 防毒軟體排除:排除 .mdf/.ldf/.ndf、備份目錄、TempDB 目錄
  • Windows 更新策略:延遲功能更新、僅安裝安全性更新、維護視窗外安裝

三、資料庫引擎設定:核心調優參數

參數建議值說明
Max Server Memory實體 RAM - 4GB (OS) - 其他服務留給 OS、備份壓縮、CLR、Columnstore 物件池
Min Server MemoryMax 的 50-80%防止記憶體被 OS 回收造成效能抖動
MAXDOPmin(8, 單 NUMA 邏輯核心數)避免平行查詢過度佔用,OLTP 建議 1-4
Cost Threshold for Parallelism50預設 5 太低,提高門檻減輕小查詢平行化開銷
Optimize for Ad hoc WorkloadsON單次計畫只存根節點,減少計畫快取膨脹
Backup Compression DefaultONCPU 換 IO,備份/還原大幅加速
TempDB 資料檔數邏輯核心數 ≤ 8 則等同,>8 則 8 個起步減少 PFS/GAM/SGAM 爭用,啟用 Trace Flag 1117/1118
TempDB 初始大小預估峰值 80%避免自動成長造成效能抖動
資料庫自動成長固定 512MB/1GB,啟用瞬間檔案初始化百分比成長不可控,MIFI 加速資料檔擴展
復原模式視 RPO 決定完整模式必配記錄備份排程;簡單模式無法時間點還原

四、資料庫架構設計:水平擴展策略

單機:資料表分割

  • 依日期/租戶/範圍分割大表
  • 分割函數 + 分割配置 → 獨立檔案群組 → 獨立磁碟
  • 分割消除減少掃描範圍,維護窗口僅操作熱分割

雙機:交易式複寫讀寫分離

  • 發佈端寫入,訂閱端唯讀報表查詢
  • 延遲監控、衝突解決、結構描述變更傳播
  • 適合讀多寫少、可容忍秒級延遲

多機:對等交易複寫 / Always On 可用性群組

  • 可用性群組:高可用 + 讀取次要複本(需授權)
  • 自動容錯移轉、聆聽器抽象連線、資料庫層級故障隔離
  • 分散式可用性群組:跨資料中心災難復原

五、查詢與索引調優:持續優化循環

  1. 建立合適索引:避免重複/未使用索引,sys.dm_db_index_usage_stats 定期審視
  2. 減少游標:集合導向思維,WHILE → CTE/MERGE/窗口函數
  3. CLR 程式設計:複雜運算、正則表達式、加密、檔案操作
  4. 批次作業:INSERT...SELECT、MERGE、Table-Valued Parameters 替代迴圈
  5. 查詢存儲:SQL 2016+ 開啟 Query Store,追蹤計畫退化、強制計畫
  6. 智慧查詢處理:SQL 2019+ 自動調整:記憶體授予回饋、批次模式自適應連接、標量函數內聯

監控與維護自動化

  • Ola Hallengren 維護腳本:備份、完整性檢查、索引/統計資料維護
  • sp_WhoIsActive / sp_Blitz:即時診斷、健康檢查
  • 效能計數器 / Extended Events:持續觀測
  • 資料庫健康報表:每週自動產出、趨勢分析
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved