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

MSSQL Server 7.0 與 SAP R/3 效能優化指南:Windows NT 設定、SQL 設定、索引設計與檔案群組規劃

     編輯:關於SqlServer

適用對象

SAP R/3 資料庫管理員、大型資料庫 (VLDB) 環境 DBA。雖針對 SAP R/3,但優化原則普遍適用於高負載、大量連線的 SQL Server 環境。

第一部分:Windows NT 設定優化

1. 分頁檔大小

至少為實體記憶體的 3 倍,且不小於 1 GB。控制台 → 系統 → 效能 → 虛擬記憶體 → 變更 → 設定初始/最大值。

2. 虛擬記憶體管理器 (VMM) 優化

控制台 → 網路 → 服務 → 伺服器 → 選「最大化網路應用程式輸送量」。

3. 最小化螢幕保護與桌面

桌面背景設「無」、螢幕保護設「空白」並啟用密碼保護,減少 GUI 佔用資源。

4. 對稱中斷分發 (SMP 系統關鍵)

多處理器系統預設將網卡 DPC 指派給最高編號 CPU,易造成單 CPU 瓶頸。若 Processor: % Processor Time = 100% 且 % DPC Time > 50%,需調整登錄 ProcessorAffinityMask 分散中斷負載。警告:登錄編輯風險高,操作前必須備份。

第二部分:SQL Server 7.0 關鍵設定

  • 記憶體配置:預留 OS 所需記憶體後,將剩餘盡可能配給 SQL Server (Enterprise Manager → 伺服器屬性 → 記憶體)。避免分頁交換。
  • 平行處理:max degree of parallelism 依 CPU 核心數設定,SAP 批次作業受益於平行查詢。
  • 預讀/掃描最佳化:啟用 read ahead、scan density 相關追蹤旗標 (參考 TechNet)。
  • 統計資料自動更新:確保 auto update statistics、auto create statistics 開啟。

第三部分:索引設計 (SAP R/3 特有)

SAP 表大量、欄位多、查詢模式複雜。索引分析需持續進行:

  • 使用 DBCC SHOW_STATISTICS、SHOWPLAN 分析查詢計畫。
  • 針對高頻 WHERE、JOIN、ORDER BY 欄位建立複合索引,注意欄位順序 (選擇性高者優先)。
  • 定期 DBCC INDEXDEFRAG / REBUILD 維護索引碎片。
  • 參考 TechNet《SQL Server 7.0 效能優化指南》第 3 章 (硬體 I/O、索引設計、優化工具)。

第四部分:檔案與檔案群組最佳實務

  • 分離交易記錄:.ldf 置於獨立 RAID 1/10 磁碟,避免與資料檔爭用 I/O。
  • 資料檔分群組:
    • PRIMARY:系統物件、小型參考表。
    • SAP_DATA:大型應用表 (依存取頻率再細分)。
    • SAP_INDEX:非叢集索引獨立群組,置於高速磁碟。
    • TEMPDB:獨立群組置於最快磁碟 (RAID 0/10),多資料檔 (每 CPU 一檔) 減少爭用。
  • 檔案預先成長:設定合理初始大小與成長增量 (MB 而非 %), 避免頻繁自動成長造成效能抖動。

總結

OS 層面 (分頁檔、VMM、SMP 中斷) + SQL 核心設定 (記憶體、平行度、統計資料) + 索引持續優化 + 檔案群組架構規劃,四位一體才能在 SAP R/3 等高負載環境發揮 SQL Server 7.0 最大效能。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved