SQL Server 2008 R2運行越久,占用內(nèi)存會越來越大。
第一種:
有了上邊的分析結果,解決方法就簡單了,定期重啟下SQL Server 2008 R2數(shù)據(jù)庫服務即可,使用任務計劃定期執(zhí)行下邊批處理:
net stop sqlserveragent
net stop mssqlserver
net start mssqlserver
net start sqlserveragent
第二種:
進入Sql server 企業(yè)管理器(管理數(shù)據(jù)庫和表的,這個都不知道就不用往下看了),在數(shù)據(jù)庫服務器名稱上點擊【右鍵】,選擇【屬性】,然后,找到【內(nèi)存】選項,在右邊的【使用AWE分配內(nèi)存】(sqlServer64的應該不用勾)左邊把對勾打上。在最大服務器內(nèi)存(MB)上填入適當?shù)拇笮。ň唧w填多大,肯定不能超過計算機的物理內(nèi)存,當然,也可以在任務管理器中查一下,sqlserver.exe占有多大時,系統(tǒng)會變慢作為參考),記得是以M(兆)為單位,點確定,重啟一下Sql服務器!OK!
解決SQL Server CPU占用率高
SQL Server CPU占用率高,一般是因為查詢數(shù)據(jù)量大,執(zhí)行時間長造成的。
這里提供調(diào)試方法,方便找出異常sql
1、打開SQL Server Profiler

2、新建跟蹤
a.點擊新建跟蹤,并設置好數(shù)據(jù)庫連接
b.設置跟蹤屬性,選擇模板“Standard”
c.切到“事件選擇”進行跟蹤設置
1) 只保留如下兩個事件選項
2) 點擊列篩選
3) 進行詳細篩選設置
設置CPU時間作為篩選條件,單位毫秒(用于跟蹤耗CPU占用較長的查詢,可設置為大于等于20000,按CPU內(nèi)核數(shù)×1000,可以跟蹤CPU占用100%大于1秒的查詢)

3、點擊運行,跟蹤語句,定位CPU占用較多的語句
如下圖所示,CPU占用2660146毫秒,CPU為24 核,則至少CPU占用100%耗時2660146/24/1000 = 110秒才可以執(zhí)行好相應的操作

4、根據(jù)語句特征,在你的服務器程序中找到相應的功能,作出修正
4.1) 分析查詢中需要檢索數(shù)據(jù)量較大的部分,作出簡單修正(如注銷)
4.2) 更新后重新執(zhí)行此查詢,查看profiler中是否CPU占用消失
4.3) 如果已消失說明問題定位正確,可以優(yōu)化查詢,若CPU占用任然很多,則回滾修改,繼續(xù)4.1操作

補充資料:
SQL Server 2008 R2運行越久,占用內(nèi)存會越來越大。
第一種:
有了上邊的分析結果,解決方法就簡單了,定期重啟下SQL Server 2008 R2數(shù)據(jù)庫服務即可,使用任務計劃定期執(zhí)行下邊批處理:
net stop sqlserveragent
net stop mssqlserver
net start mssqlserver
net start sqlserveragent
第二種:
進入Sql server 企業(yè)管理器(管理數(shù)據(jù)庫和表的,這個都不知道就不用往下看了),在數(shù)據(jù)庫服務器名稱上點擊【右鍵】,選擇【屬性】,然后,找到【內(nèi)存】選項,在右邊的【使用AWE分配內(nèi)存】(sqlServer64的應該不用勾)左邊把對勾打上。在最大服務器內(nèi)存(MB)上填入適當?shù)拇笮。ň唧w填多大,肯定不能超過計算機的物理內(nèi)存,當然,也可以在任務管理器中查一下,sqlserver.exe占有多大時,系統(tǒng)會變慢作為參考),記得是以M(兆)為單位,點確定,重啟一下Sql服務器!OK!
您可能感興趣的文章:- SQL語句實現(xiàn)查詢SQL Server內(nèi)存使用狀況
- 優(yōu)化SQL Server的內(nèi)存占用之執(zhí)行緩存
- SQL Server 數(shù)據(jù)頁緩沖區(qū)的內(nèi)存瓶頸分析
- SqlServer如何通過SQL語句獲取處理器(CPU)、內(nèi)存(Memory)、磁盤(Disk)以及操作系統(tǒng)相關信息
- 解決SQL Server虛擬內(nèi)存不足情況
- 揭秘SQL Server 2014有哪些新特性(1)-內(nèi)存數(shù)據(jù)庫
- 淺談SQL Server 對于內(nèi)存的管理[圖文]
- SQL Server內(nèi)存遭遇操作系統(tǒng)進程壓榨案例分析
- SQL Server在AlwaysOn中使用內(nèi)存表的“踩坑”記錄
- sql server學習基礎之內(nèi)存初探