SQL Server 預設採用動態記憶體分配,具備自主調節能力:
建議將 最小伺服器記憶體 設定為較大值(如實體記憶體 70-80%),避免啟動階段效能抖動。
用戶離線後 SQL Server 保留緩存屬正常設計,可加速後續查詢。唯有作業系統發出記憶體不足訊號時才會釋放。可用 Photoshop 等大型軟體測試驗證。
證券級系統(1 億+ 筆)實測:短時間高頻查詢導致記憶體持續攀升至 2-4GB,效能明顯下降,重啟服務才能恢復。微軟承認無完美修復方案,團隊自行開發組件緩解但非根治。
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 或查詢加 NOLOCK 降低鎖爭用。多位資深 DBA 反映:超大資料量(TB 級)下 SQL Server 記憶體管理較 Oracle 吃力,加上與 Windows 深度綁定的優勢在跨平台雲原生架構下轉為劣勢,最終選擇遷移 Oracle。
max server memory 已設定上限(預設 2147483647 MB 即無上限)。DBCC MEMORYSTATUS、效能計數器 SQLServer:Memory Manager。