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

解決 SQL Server 記憶體耗盡導致系統死機:動態管理機制與上限配置實操

     編輯:關於SqlServer

現象與根因

SQL Server 2000 引入**動態記憶體管理**,**回收機制不積極**。長時間不重啟 → 記憶體單調增長 → 系統可用記憶體歸零 → **死機/服務凍結**。

兩種解決路徑

  1. 定期重啟: 每週重啟一次釋放記憶體 (治標)。
  2. 配置最大記憶體上限 (治本): 強制 SQL Server 在上限回收/停止增長。

圖形介面配置步驟 (企業管理器)

  1. 啟動 **企業管理器** (開始 → Microsoft SQL Server → 企業管理器)。
  2. 展開控制台樹:控制台根節點 → Microsoft SQL Servers → SQL Server 群組 → **(Local)**。
  3. 右鍵 **(Local)** → **屬性** → **記憶體** 索引標籤。
  4. 勾選/設定 **最大記憶體 (MB)**,依角色建議值:
伺服器角色建議最大記憶體佔比
純資料庫伺服器總記憶體 80-90%
兼域控制器60-70%
兼 Web 伺服器建議 ≤ 60%
  1. 確定 → **重啟 SQL Server 服務** 生效。

T-SQL 等效指令 (適合腳本化/自動化)

EXEC sp_configure 'show advanced options', 1; RECONFIGURE;
EXEC sp_configure 'max server memory (MB)', 4096;  -- 例: 4GB
RECONFIGURE;

核心原則

  • **留足 OS 與其他服務記憶體** (最少 1-2 GB),避免系統分頁抖動。
  • 專用 DB 伺服器可給更多,但**永遠保留緩衝**。
  • 配置後**必須重啟服務** (或等待動態生效,視版本)。

一個上限設定,徹底根治記憶體耗盡隱患。

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