MSSQL數(shù)據(jù)庫占用內(nèi)存過大造成服務(wù)器死機(jī)問題的解決方法
在您啟動(dòng) SQL Server 之后,SQL Server 內(nèi)存使用量將會(huì)持續(xù)穩(wěn)定上升,即使當(dāng)服務(wù)器上活動(dòng)很少時(shí)也不會(huì)下降。另外,任務(wù)管理器和性能監(jiān)視器將顯示計(jì)算機(jī)上可用的物理內(nèi)存穩(wěn)定下降,直到可用內(nèi)存降到 4 至 10 MB 為止。
僅僅出現(xiàn)這種狀態(tài)不表示內(nèi)存泄漏。此行為是正常的,并且是 SQL Server 緩沖池的預(yù)期行為。
默認(rèn)情況下,SQL Server 根據(jù)操作系統(tǒng)報(bào)告的物理內(nèi)存加載動(dòng)態(tài)增大和收縮其緩沖池(緩存)的大小。只要有足夠的內(nèi)存可用于防止內(nèi)存頁面交換(在 4 至 10 MB 之間),SQL Server 緩沖池就會(huì)繼續(xù)增大。像在與 SQL Server 分配內(nèi)存位于相同計(jì)算機(jī)上的其他進(jìn)程一樣,SQL Server 緩沖區(qū)管理器將在需要的時(shí)候釋放內(nèi)存。SQL Server 每秒可以釋放和獲取幾兆字節(jié)的內(nèi)存,從而使它可以快速適應(yīng)內(nèi)存分配變化。
更多信息
您可以通過服務(wù)器內(nèi)存最小值和服務(wù)器內(nèi)存最大值配置選項(xiàng)設(shè)置 SQL Server 數(shù)據(jù)庫引擎使用的內(nèi)存(緩沖池)量的上下限。在設(shè)置服務(wù)器內(nèi)存最小值和服務(wù)器內(nèi)存最大值選項(xiàng)之前,請(qǐng)查閱以下 Microsoft 知識(shí)庫文章中標(biāo)題為"內(nèi)存"一節(jié)中的參考信息:
319942 HOW TO:Determine Proper SQL Server Configuration Settings(確定正確的 SQL Server 配置設(shè)置)
請(qǐng)注意,服務(wù)器內(nèi)存最大值選項(xiàng)只限制 SQL Server 緩沖池的大小。服務(wù)器內(nèi)存最大值選項(xiàng)不限制剩余的未保留內(nèi)存區(qū)域,SQL Server 準(zhǔn)備將該區(qū)域分配給其他組件,例如擴(kuò)展存儲(chǔ)過程、COM 對(duì)象、以及非共享 DLL、EXE 和 MAPI 組件。由于前面的分配,SQL Server 專用字節(jié)超過服務(wù)器內(nèi)存最大值配置是很正常的。有關(guān)此未保留內(nèi)存區(qū)域中分配的其他信息,請(qǐng)單擊下面的文章編號(hào),以查看 Microsoft 知識(shí)庫中相應(yīng)的文章:
316749 PRB:在使用大量數(shù)據(jù)庫時(shí)可能沒有足夠的虛擬內(nèi)存
參考
SQL Server 聯(lián)機(jī)圖書;主題:"服務(wù)器內(nèi)存最小值和最大值的影響";"內(nèi)存體系結(jié)構(gòu)";"服務(wù)器內(nèi)存選項(xiàng)";"SQL Server 內(nèi)存池"
下面我們就來實(shí)戰(zhàn)如何限制MSSQL內(nèi)存使用:
第一步:打開企業(yè)管理雙擊進(jìn)入要修改的MSSQL.

第二步:在左側(cè)MSSQL上點(diǎn)擊右鍵,選擇屬性,彈出SQL Server屬性(配置)對(duì)話框

第三步:點(diǎn)擊內(nèi)存選項(xiàng)卡.

在這里,你會(huì)看到MSSQL默認(rèn)設(shè)置為使用最大內(nèi)存,也就是你所有的內(nèi)存,根據(jù)你的需要,設(shè)置它的最大值吧.
第五步:設(shè)置完畢,關(guān)閉MSSQL服務(wù)再重啟,配置即可生效!
相關(guān)文章
使用NotePad++錄制宏功能如何快速將sql搜索條件加上前后單引號(hào)
這篇文章給大家介紹使用NotePad++錄制宏功能如何快速將sql搜索條件加上前后單引號(hào),對(duì)notepad 引號(hào)問題感興趣的朋友可以參考下本篇文章2015-10-10
sql語句查詢重復(fù)的數(shù)據(jù)(最新推薦)
這篇文章主要介紹了sql語句查詢重復(fù)的數(shù)據(jù),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-05-05
MSSQL 監(jiān)控?cái)?shù)據(jù)/日志文件增長(zhǎng)實(shí)現(xiàn)方法
今天就想實(shí)現(xiàn)這么一個(gè)功能,每天(頻率可以調(diào)整)去收集一下數(shù)據(jù)文件的信息,放到一個(gè)表里面,這樣方便我們分析數(shù)據(jù)文件的增長(zhǎng)演變例程,甚至你可以將數(shù)據(jù)文件的增長(zhǎng)幅度和業(yè)務(wù)變化關(guān)聯(lián)起來分析2013-08-08
SQLServer批量更新兩個(gè)關(guān)聯(lián)表數(shù)據(jù)的方法
這篇文章主要介紹了SQLServer批量更新兩個(gè)關(guān)聯(lián)表數(shù)據(jù)的方法,提供了2種關(guān)聯(lián)查詢與更新語句的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-08-08
SQL Server中row_number分頁查詢的用法詳解
這篇文章主要介紹了SQL Server中row_number的用法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
SQLServer 附加數(shù)據(jù)庫后出現(xiàn)只讀或失敗的解決方法
如果你在附加SQL數(shù)據(jù)庫,出現(xiàn)只讀或失敗的情況,來看下本文的解決方案吧。2010-03-03
關(guān)于喜憂參半的SQL Server觸發(fā)器詳解
這篇文章主要給大家介紹了關(guān)于喜憂參半的SQL Server觸發(fā)器的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
sqlserver 批量刪除存儲(chǔ)過程和批量修改存儲(chǔ)過程的語句
sqlserver 批量刪除存儲(chǔ)過程和批量修改存儲(chǔ)過程的語句,需要的朋友可以參考下。2011-07-07
對(duì)有自增長(zhǎng)字段的表導(dǎo)入數(shù)據(jù)注意事項(xiàng)
對(duì)有自增長(zhǎng)字段的表導(dǎo)入數(shù)據(jù)注意事項(xiàng)2008-12-12
CentOS 7.3上SQL Server vNext CTP 1.2安裝教程
這篇文章主要為大家詳細(xì)介紹了CentOS 7.3上SQL Server vNext CTP 1.2安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01

