S 事件緣由:本人在開發(fā)sql server數(shù)據(jù)庫(kù)項(xiàng)目的過(guò)程中發(fā)現(xiàn)了這么一個(gè)問(wèn)題,,SQL Server 2008 R2運(yùn)行越久,占用內(nèi)存會(huì)越來(lái)越大,。因?yàn)閟ql server 2008 本身內(nèi)存回收機(jī)制做的不好 所以只能這么強(qiáng)制設(shè)置?,F(xiàn)在明白了,原來(lái)是微軟R2系列的服務(wù)器&數(shù)據(jù)庫(kù)問(wèn)題的通病,。 第一種: 有了上邊的分析結(jié)果,,解決方法就簡(jiǎn)單了,定期重啟下SQL Server 2008 R2數(shù)據(jù)庫(kù)服務(wù)即可,,使用任務(wù)計(jì)劃定期執(zhí)行下邊批處理: net stop sqlserveragent net stop mssqlserver net start mssqlserver net start sqlserveragent 注意最不可取的辦法: 1,、做個(gè)軟件自動(dòng)給sql server 2005數(shù)據(jù)庫(kù)強(qiáng)制釋放內(nèi)存; 注:這個(gè)是可以的,,但是這樣做很不合理,;一方面服務(wù)器上的web系統(tǒng)正在運(yùn)行,如果此時(shí)我們把系統(tǒng)的內(nèi)存釋放掉了這樣肯定會(huì)引起網(wǎng)頁(yè)OA/ERP/CRM系統(tǒng)的異常,。 2,、給sql server 2005 做個(gè)任務(wù)來(lái)釋放內(nèi)存;這個(gè)好像是可以的!但是這個(gè)也是很麻煩的事情,。 很明顯上面的方法都不是最理想的,。 第二種: 進(jìn)入Sql server 企業(yè)管理器(管理數(shù)據(jù)庫(kù)和表的,這個(gè)都不知道就不用往下看了),,在數(shù)據(jù)庫(kù)服務(wù)器名稱上點(diǎn)擊【右鍵】,,選擇【屬性】,然后,,找到【內(nèi)存】選項(xiàng),,在右邊的【使用A WE分配內(nèi)存】(sqlServer64的應(yīng)該不用勾 ) 左邊把對(duì)勾打上。在最大服務(wù)器內(nèi)存(MB)上填入適當(dāng)?shù)拇笮,。ň唧w填多大,,肯定不能超過(guò)計(jì)算機(jī)的物理內(nèi)存,當(dāng)然,,也可以在任務(wù)管理器中查一下,,sqlserver.exe占有多大時(shí),系統(tǒng)會(huì)變慢作為參考),,記得是以M(兆)為單位,,點(diǎn)確定,重啟一下Sql服務(wù)器,!OK,! |
|