前言
資料庫伺服器承載企業核心資料,對相容性、可靠性、穩定性要求極高。本文彙整從硬體規劃、OS 設定、SQL Server 設定、資料庫設計到 SQL 調優五大面向的高效能部署關鍵點,供架構師與 DBA 參考落地。
一、伺服器規劃(硬體層)
| # | 項目 | 建議規格 |
| 1 | 作業系統 | Windows Server 2008 64-bit (或更新版) |
| 2 | SQL Server 版本 | SQL Server 2008 64-bit (或更新版) |
| 3 | 網路介面 | 千兆網卡 (建議雙網卡冗餘) |
| 4 | 磁碟陣列 | 硬體 RAID 5 (或 RAID 10 視預算) |
| 5 | 叢集大小 | 64 KB (對齊 SQL Server 8 KB 頁面與 64 KB extent) |
| 6 | 磁碟分區規劃 | LUN0: 系統盤 / LUN1: 程式安裝盤 / LUN2: 資料/記錄檔盤 (動態磁碟) |
二、系統設定(OS 層) - 針對舊架構 (Win2003 x86 + SQL2005 x86 + 12GB RAM) 的補救
| # | 設定 | 說明 |
| 1 | OS 版本 | Windows Server 2003 Enterprise / Datacenter Edition (支援 >4GB RAM) |
| 2 | boot.ini | 啟用 /PAE (Physical Address Extension) |
| 3 | 群組原則 | gpedit.msc → 本機原則 → 使用者權利指派 → 鎖定記憶體頁面 加入 SQL Server 服務帳號 |
| 4 | 虛擬記憶體 | 移至非系統盤實體磁碟,大小視負載設定 |
| 5 | 網路最佳化 | 取消「最大化檔案共用資料傳輸量」,選「最大化網路應用程式資料傳輸量」 |
⚠️ 新部署請直接採 64 位元 OS + 64 位元 SQL Server,避免 32 位元 AWE/MemToLeave 限制。
三、SQL Server 設定(執行個體層)
| # | 設定 | 建議值 / 說明 |
| 1 | AWE (32 位元專用) | 啟用,分配 80% 實體記憶體給 Buffer Pool (如 16GB RAM → 12.8GB) |
| 2 | 資料檔自動成長 | 固定增長量 (如 512MB/1GB),避免 10% 預設導致頻繁擴展與碎片 |
| 3 | 復原模式 | 非時間點還原需求下設 Simple,減少記錄檔膨脹 |
| 4 | TempDB 大小 | 預先配置 ≥ 4GB (視負載),並建議多資料檔 (每核心 1 檔,上限 8) |
| 5 | 停用非必要服務 | 僅保留 SQL Server、SQL Server Browser,其餘 (Agent、FullText、Reporting 等) 按需啟用 |
四、資料庫架構設計(邏輯層)
| 層級 | 策略 | 適用場景 |
| 單機 | 資料表分區 | 大型資料表、歷史資料歸檔、滑動窗口 |
| 雙機 | 異動複寫讀寫分離 | 報表查詢卸載、高可用備援 |
| 多機 | 對等異動複寫 | 多地區寫入、地理分散式高可用 |
五、SQL 調優關鍵原則(應用層)
- 建立合適索引 (覆蓋索引、篩選索引、避免過度索引)。
- 減少游標使用,改用集合式操作。
- 熱點靜態資料考慮 CLR 快取或記憶體最佳化表 (Hekaton/In-Memory OLTP)。
- 批次操作取代頻繁小額交易 (Table-Valued Parameters、
MERGE、BULK INSERT)。
- 持續監控
sys.dm_exec_query_stats、Query Store、Extended Events 定位 Top N 耗資源查詢並逐個擊破。
作者:聽風吹雨 | 出處:https://gaizai.cnblogs.com/ | 版權歸作者與博客園共有,轉載請保留聲明與原文連結。