在 Microsoft SQL Server 6.5 中,記憶體是片段的,並且需要手動管理。資料庫管理員必需先決定相對於作業系統而言的 SQL Server 應該使用多少記憶體。例如,具有 256 MB 的記憶體,SQL Server 可能會使用 200 MB 而剩下 56 MB 給作業系統。這項工作本身算是一種藝術,而非科學。很難去規劃資料庫單獨需要多少空間,更不用說要去規劃作業系統和在相同電腦上執行的其他應用程式 (例如 Web 伺服器) 可能需要的空間。記憶體的使用不是不變的;SQL Server 可能在 8 A.M. 到 5 P.M. 間需要更多記憶體,而作業系統可能在 5 P.M. 到 8 A.M. 間需要更多記憶體來執行夜間的批次工作。變更記憶體組態需要將 SQL Server 6.5 關閉和啟動。

記憶體配置到 SQL Server 6.5 之後,它就會分割為四個區段:靜態結構、資料快取區、預存程序及動態配置 (資料快取區的子集)。

靜態結構是預先配置到使用者連接、鎖定、開啟的物件及背景工作執行緒 (Worker Thread) 等 SQL Server 元件的 SQL Server 記憶體。靜態結構記憶體是在 SQL Server 啟動時配置。動態結構則是配置給在靜態結構配置之上或之外加入的使用者、鎖定及物件的記憶體,並會從資料快取區中取得記憶體。其餘的記憶體會在資料快取區及預存程序快取區之間分割。SQL Server 6.5 procedure cache 組態設定選項會指定程序快取區的可用記憶體百分比,其餘的部分設定到資料快取區。

以 SQL Server 6.5 記憶體的配置為例,假設系統有 256 MB。SQL Server memory 選項會配置 200 MB 到 SQL Server,剩下 56 MB 給 Windows NT。在 SQL Server 的 200 MB 記憶體當中,靜態結構需要 10 MB,留下 190 MB。procedure cache 設為百分之三十;因此,預存程序記憶體會獲得 57 MB (190 * .3),而資料快取區會獲得 133 MB (190 – 57)。任何進一步的動態配置都會從資料快取區進行。

SQL Server 6.5 記憶體使用 LRU (近來最少使用) 及 MRU (最近使用的) 連結清單來管理資料。記憶體中現用 (正在讀取或寫入) 的資料會連結到連結清單的 MRU 部分。記憶體緩衝區中已有一段時間未存取的資料則會移動到連結清單的 LRU 部分。MRU/LRU 連結清單會經常修改。