sql server沒有辦法釋放內存,內存都是系統自動管理的
除非你殺調哪些佔用內存大的進程
sql 語句沒寫好,死鎖...都會導致佔用內存很大
select * from master..sysprocesses
kill spid --spid 就是上面查到的spid欄位
2. sqlserver2008占內存高,一般是什麼原因
sqlserver2008會把整個資料庫緩存到內存裡面,就是說資料庫有多大,就會占內存多個空間,直到把內存占滿為止。
這樣可以提高資料庫速度的,而且一般是沒有問題的,如果要限制資料庫佔用內存控制,要在資料庫裡面限制,把佔用內存改成最大,在SQL server management studio 裡面右擊伺服器,點擊屬性,選擇內存,選擇最大內存。
3. sql資料庫伺服器,內存佔用過大怎麼辦
SqlServer系統內存管理在沒有配置內存最大值,很多時候我們會發現運行SqlServer的系統內存往往居高不下。這是由於他對於內存使用的策略是有多少閑置的內存就佔用多少,直到內存使用慮達到系統峰值時(預留內存根據系統默認預留使用為准,至少4M),才會清除一些緩存釋放少量的內存為新的緩存騰出空間。
這些內存一般都是SqlServer運行時候用作緩存的,例如你運行一個select語句,執行個存儲過程,調用函數;
1.數據緩存:執行個查詢語句,SqlServer會將相關的數據頁(SqlServer操作的數據都是以頁為單位的)載入到內存中來,下一次如果再次請求此頁的數據的時候,就無需讀取磁碟了,大大提高了速度。
2.執行命令緩存:在執行存儲過程,自定函數時,SqlServer需要先二進制編譯再運行,編譯後的結果也會緩存起來,再次調用時就無需再次編譯。
在我們執行完相應的查詢語句,或存儲過程,如果我們不在需要這些緩存,我可以將它清除,DBCC管理命令緩存清除如下:
--清除存儲過程緩存
DBCCFREEPROCCACHE
--註:方便記住關鍵字FREEPROCCACHE可以拆解成FREE(割捨,清除)PROC(存儲過程關鍵字簡寫),CACHE(緩存)
--清除會話緩存
DBCCFREESESSIONCACHE
--註:FREE(割捨,清除)SESSION(會話)CACHE(緩存)
--清除系統緩存
DBCCFREESYSTEMCACHE('All')
--註:FREESYSTEMCACHE
--清除所有緩存
DBCCDROPCLEANBUFFERS
--註:DROPCLEANBUFFERS
4. 為什麼SQLServer會佔用這么大的內存
簡單回答:
因為它的設計是為了提供最高效快速的數據服務。它會盡可能利用(佔用)電腦的內存、CPU資源來做數據服務。
1、SQL Server是資料庫系統,它的設計目標就是以當前設備硬體的最大的資源來為其它或自已提供最高效快速的數據查詢、存儲、運算支持。
2、所以,它在運行過程中,默認情況下,會佔用較大的內存,會用較高的CPU性能,因為它可不管你的想法是什麼,它的想法就是時刻准備著,查詢、存儲、運算數據。它會將它認為最常用的數據調入內存中,以加快查詢速度,會不停的想法兒優化演算法,優化物理存儲位置,以做到盡可能的最快的速度提供操作者想要的數據。
3、SQL Server對內存的佔用是可以調定與調整的,在起動 「企業管理器」或「SQL Server Management Studio」在裡面點擊樹狀結構的根目錄,點屬性,到裡面相關的參數處可設定資料庫的內存佔用。提示的是,過小的內存佔用會引發SQL Server的運行故障。
4、個人電腦,安裝它用於調試、編程學習、或某些特定軟體數據支持,不用時,可以去控制面版的「服務」中,關閉「SQLServer」相關服務,即可讓它不再佔用系統資源,但這並不是太方便,而且只適用於對電腦比較熟悉的朋友。
5. 為什麼讀取SQL的資料庫會佔用內存那麼大
因為SQL使用了緩存技術,所以在使用一段時間以後內存佔用會越來越多。
打開企業管理器,在你的SQL伺服器上點右鍵,查看屬性。
在「內存」項中把內存的「最大值」改小一點,不要超過你的內存的一半,或者選中「使用固定的內存大小」,然後將值設定為你內存的一半也可以。
6. sqlserver.exe內存使用過高
不知你是什麼伺服器,是web、smtp還是ftp?
資料庫佔用內存過高,說明你SQL資料庫中有問題,比如有若干循環出現問題,就會不停的調用,這種情況下,最好是找人檢查一下資料庫,修改一下
7. sql server 2008 r2 啟動時將主機cpu、內存資源全部占滿了,這正常嗎
正常,sql 需要大內存和cpu來計算的,如果感覺有卡的話,建議增加內存。
8. SQL2000佔用內存過大
估計是你的代碼直接對表的操作一直處於一種無限循環,也就是沒有終止的條件。你終止SQLServer伺服器,先去除代碼操作項,然後再看看內存佔用率是不是正常了,如果正常的話,就說明代碼有問題,建議你重新審查下代碼。如果不正常,你可以對具體操作的某一張表跟蹤一下,看看數據量多大,再說了一個數據量再大,一般不會把內存4G的伺服器變的很卡,電腦內存是自動釋放的,這個你可以不用管
9. SQL Server佔用內存過高,什麼原因導致的,用什麼方法可以解決
SQL Server運行越久,佔用內存會越來越大。因為sql server本身內存回收機製做的不好,這是微軟系列的伺服器&資料庫問題的通病。
解決SQL Server佔用內存過高的方法:
1.定期重啟SQL Server 2008 R2資料庫服務即可。
拓展資料
SQL Server 是Microsoft 公司推出的關系型資料庫管理系統。具有使用方便可伸縮性好與相關軟體集成程度高等優點,可跨越從運行Microsoft Windows 98 的膝上型電腦到運行Microsoft Windows 2012 的大型多處理器的伺服器等多種平台使用。
Microsoft SQL Server 是一個全面的資料庫平台,使用集成的商業智能 (BI)工具提供了企業級的數據管理。Microsoft SQL Server 資料庫引擎為關系型數據和結構化數據提供了更安全可靠的存儲功能,使您可以構建和管理用於業務的高可用和高性能的數據應用程序。
網路Microsoft SQL Server