使用MSSQL的站長朋友都會被MSSQL數據庫吃內存的能力佩服得五體投地,一個小小的網站,運行若干天之后,MSSQL就會把服務器上所有的內存都吃光,此時你不得不重新啟動一下服務器或MSSQL來釋放內存,有人認為是MSSQL有內存泄露問題,其實不然,微軟給我們了明確說明:
在您啟動 SQL Server 之后,SQL Server 內存使用量將會持續穩定上升,即使當服務器上活動很少時也不會下降。另外,任務管理器和性能監視器將顯示計算機上可用的物理內存穩定下降,直到可用內存降到 4 至 10 MB 為止。
僅僅出現這種狀態不表示內存泄漏。此行為是正常的,并且是 SQL Server 緩沖池的預期行為。
默認情況下,SQL Server 根據操作系統報告的物理內存加載動態增大和收縮其緩沖池(緩存)的大小。只要有足夠的內存可用于防止內存頁面交換(在 4 至 10 MB 之間),SQL Server 緩沖池就會繼續增大。像在與 SQL Server 分配內存位于相同計算機上的其他進程一樣,SQL Server 緩沖區管理器將在需要的時候釋放內存。SQL Server 每秒可以釋放和獲取幾兆字節的內存,從而使它可以快速適應內存分配變化。
更多信息
您可以通過服務器內存最小值和服務器內存最大值配置選項設置 SQL Server 數據庫引擎使用的內存(緩沖池)量的上下限。在設置服務器內存最小值和服務器內存最大值選項之前,請查閱以下 Microsoft 知識庫文章中標題為"內存"一節中的參考信息:
319942 HOW TO:Determine Proper SQL Server Configuration Settings(確定正確的 SQL Server 配置設置)
請注意,服務器內存最大值選項只限制 SQL Server 緩沖池的大小。服務器內存最大值選項不限制剩余的未保留內存區域,SQL Server 準備將該區域分配給其他組件,例如擴展存儲過程、COM 對象、以及非共享 DLL、EXE 和 MAPI 組件。由于前面的分配,SQL Server 專用字節超過服務器內存最大值配置是很正常的。有關此未保留內存區域中分配的其他信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
316749 PRB:在使用大量數據庫時可能沒有足夠的虛擬內存
參考
SQL Server 聯機圖書;主題:"服務器內存最小值和最大值的影響";"內存體系結構";"服務器內存選項";"SQL Server 內存池"
下面我們就來實戰如何限制MSSQL內存使用:
第一步:打開企業管理雙擊進入要修改的MSSQL.
第二步:在左側MSSQL上點擊右鍵,選擇屬性,彈出SQL Server屬性(配置)對話框
第三步:點擊內存選項卡.
在這里,你會看到MSSQL默認設置為使用最大內存,也就是你所有的內存,根據你的需要,設置它的最大值吧.
第五步:設置完畢,關閉MSSQL服務再重啟,配置即可生效!
MSSQL數據庫占用內存過大造成服務器死機問題的解決方法
2020-01-10 21:38MSSQL教程網 Sql Server
有時候我們的服務器使用MSSQL數據庫,但如果MSSQL數據庫占用內存過大可能導致服務器死機,這里分享下解決方法, 需要的朋友可以參考下
延伸 · 閱讀
- 2022-03-10Mongodb數據庫轉換為表格文件的庫
- 2022-03-10C/C++ Qt 數據庫與TreeView組件綁定詳解
- 2022-03-09MySQL數據庫如何給表設置約束詳解
- 2022-03-09MySQL數據庫觸發器從小白到精通
- 2022-03-09Linux中無法遠程連接數據庫問題的解決方法
- 2022-03-09易語言的數據庫操作教程
- Sql Server
SQLServer2005 批量查詢自定義對象腳本
SQLServer2005 批量查詢自定義對象腳本,使用系統函數object_definition和系統表 sysobjects 就可以了 ...
- Sql Server
SQLServer 數據庫的數據匯總完全解析(WITH ROLLUP)
乍一看,好像很容易,用group by好像能實現?但仔細研究下去,你又會覺得group by也是無能為力,總欠缺點什么,無從下手。那么,到底該如何做呢?別急,...
- Sql Server
SQL JOIN 連接詳細介紹及簡單使用實例
這篇文章主要介紹了SQL JOIN 連接詳細介紹及簡單使用實例的相關資料,需要的朋友可以參考下 ...
- Sql Server
SQL2005 存儲過程解密方法
SQL2005 存儲過程解密方法,需要的朋友可以參考下。...
- Sql Server
三種SQL分頁查詢的存儲過程代碼
三種SQL分頁查詢的存儲過程代碼,需要的朋友可以參考下。 ...
- Sql Server
深入SQLServer中ISNULL與NULLIF的使用詳解
本篇文章是對SQLServer中ISNULL與NULLIF的使用進行了詳細分析介紹,需要的朋友參考下 ...
- Sql Server
SQLServer2005創建定時作業任務
這篇文章主要為大家介紹了SQLServer2005創建定時作業任務的詳細過程,具有一定的參考價值,感興趣的小伙伴們可以參考一下 ...
- Sql Server
SQL_Server全文索引的用法解析
SQL Server全文索引相信大家都有一定的了解,下面就為您介紹SQL Server全文索引的用法及相關的語句,希望可以讓您對SQL Server全文索引能有更深的認識 ...