Ⅰ sqlserver2008r2x64最大內存限制是否需要設定設置多少為宜
伺服器上簡單回答:
只需設定上限。上限以安裝的實際內存數減去必要的留置值即可。
比如我的伺服器,實際安裝內存64G,設定不超過58G給SQL Server,6G留給別的應用。(個人做法僅供參考,伺服器上的情況下同,需要經驗)
相關知識:
1、具體的應設多大,應該看你的伺服器上運行的資料庫的情況,一般設定只上限,不設定下限。所以,當SQL Server不需要那麼多內存時,它不會去佔用。
2、如果不當設定,比如上限值太小,SQL Server就不得不頻繁地去硬碟中交換數據,會降底資料庫的速度與效率。而留出的內存太小,別的必要的應用得不到足夠的內存,有可能影響別的應用,甚至會出現嚴重的錯誤。
3、如果是個人台式機上,SQL Server用於測試和學習,情況也類似,但建議不用它時,去控制面版中的服務中,關閉SQL 的相關服務,並設它們為手動。要用它們時,再手去啟動。
4、注意,里設置的是內存使用,不是所謂的「硬碟緩存」,更沒有什麼「刪除」的概念。對於數據量大的生產資料庫,SQL Server會盡可能將常用的數據讀到內存中,以加快數據的讀寫與運算。
5、同時也在這里提醒,SQL Server在運行過程中,有很多中間數據是沒有寫入硬碟的,所以強行關機、掉電、可能丟失數據,甚至損壞資料庫文件,所以生產用SQL Server一定要運行在有UPS的環境中。並且不是在不得已的情況下,不要強行關機,強行關電。
Ⅱ SQL Server 2008 R2佔用內存越來越大怎麼解決
這些佔用著的內存,其實是數據緩存.如果內存夠大,那就別刪了.刪除後會減低性能和效率.
如果一定要刪,實質上是通過最大值開限制內存開銷:
1、滑鼠右鍵實例-->屬性-->內存
2、設定最大內存 即可
3、
Ⅲ 如何解決sql server 2008佔用6個多G的內存
你說的是資料庫文件吧,主要是日誌太大了,收縮下資料庫日誌就可以了;
網路搜索「sql收縮日誌」的代碼,放到查詢分析器裡面執行下就可以了;
Ⅳ 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
Ⅳ 內存佔用過高重啟電腦後sql server2008連接不上,資料庫報錯64 怎麼解決
方法/步驟
第一步:打開SQL服務工具
一次展開:開始——所有程序——SQL Server2008 R2——配置工具——SQL Server配置管理器,如圖:
Ⅵ sql server2008佔用進程內存太大,超過正常使用內存,什麼 原因
SQL Server的內存一直上不去。從Task Schele中看到SQL Server只使用了88MB內存,實際這台機器有12GB的內存,可用內存有超過8GB。 當時我以為是開啟了AWE導致的,所以連接到他的伺服器看了一下。但是資料庫為2005企業版64位,所以不用開啟AWE。而且即使開啟了,也會被忽略。 使用下面的腳本查詢了一下SQL Server內存使用: select physical_memory_in_use_kb,locked_page_allocations_kb,*fromsys.dm_os_process_memory 看到實際使用的內存有2GB,遠遠超出任務管理器看到的。(也可以通過Perfmon的Total server memory(MB)查看)。 當時覺得很奇怪,查看了SQL Server錯誤日誌發現了類似下面的信息: 2009-06-0412:21:08.16 Server Large Page Extensions enabled. 2009-06-04 12:21:08.16 Server Large Page Granularity: 2097152 2009-06-04 12:21:08.21 Server Large Page Allocated: 32MB 猜測這台期間開啟了Lock Pages In memory功能,之後得到確認。因為開啟Lock Pages In memory之後,SQL Server會使用AWE APIs鎖定內存頁,所以這部分的內存使用不會顯示在Working Set中。 So in summary the AWE APIs for 32bit and 64bit SQL Server systems are used for different purposes. In 32bit it is really to extend memory access beyond 4Gb or to enable the AWE feature. For 64bit systems, it is to possibly gain performance and to “lock pages” for the buffer pool. 到現在這個問題就比較明朗了,其實SQL Server還是正常工作的。一般查詢SQL Server的使用還是建議使用DMV或者Perfmon,直接查看Working Set信息可能不準。 另外說一下,當時看到上面Large Page的信息,以為是資料庫開啟了LargePage,但是使用DBCC TRACSTATUS查看沒有開啟834 Trace Flag,所以大數據功能是沒有啟用的。只有開啟834 Trace Flag資料庫才會真正啟用Large Page。 啟用Large page在資料庫錯誤日誌會看到類似信息: 2009-06-0414:20:40.03 Server Using large pages for buffer pool. 關於Lock Pages In memory/working set機制我找到了兩篇文章,大家有興趣可以參考: Funwith Locked Pages, AWE, Task Manager, and the Working Set WhySQL Server is using so LESS memory
Ⅶ SQL Server 2008 R2 持續佔用內存直到伺服器死機,怎麼解決
sql的性能優化需要調試了,你sql的讀寫頻繁的話還要增加8g內存
Ⅷ 造成mssql2008內存不斷增加的原因是什麼
MS SQL是用於資料庫伺服器管理的。
它有參數設定它的最大內存使用設定。
默認情況下,它就是拚命用最多的內存以達到最高效的數據查詢與記錄。
如果是個人工作電腦,為了學習或小資料庫應用安裝了MS SQL,可以去服務中把SQL的相關服務停止,並設定為手動,要使用時,手工起動即可。也可以根據需要調整MS SQL能使用的內存,提示的是,內存設定過小可能造成它工作不正常,或速度變很慢,或使硬碟讀寫變得頻煩。
參見SQL的伺服器屬性里的設定頁圖:
Ⅸ 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
Ⅹ sqlserver2008占內存高,一般是什麼原因
sqlserver2008會把整個資料庫緩存到內存裡面,就是說資料庫有多大,就會占內存多個空間,直到把內存占滿為止。
這樣可以提高資料庫速度的,而且一般是沒有問題的,如果要限制資料庫佔用內存控制,要在資料庫裡面限制,把佔用內存改成最大,在SQL server management studio 裡面右擊伺服器,點擊屬性,選擇內存,選擇最大內存。