国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

幫助中心 >  技術(shù)知識庫 >  數據庫 >  數據庫管理 >  SQL Server 2008 R2占用cpu、內存越來(lái)越大的兩種解決方法

SQL Server 2008 R2占用cpu、內存越來(lái)越大的兩種解決方法

2017-11-15 13:31:57 296

SQL Server 2008 R2運行越久,占用內存會(huì )越來(lái)越大。

第一種:

有了上邊的分析結果,解決方法就簡(jiǎn)單了,定期重啟下SQL Server 2008 R2數據庫服務(wù)即可,使用任務(wù)計劃定期執行下邊批處理:

1
2
3
4
net stop sqlserveragent
net stop mssqlserver
net start mssqlserver
net start sqlserveragent

第二種:

進(jìn)入Sql server 企業(yè)管理器(管理數據庫和表的,這個(gè)都不知道就不用往下看了),在數據庫服務(wù)器名稱(chēng)上點(diǎn)擊【右鍵】,選擇【屬性】,然后,找到【內存】選項,在右邊的【使用AWE分配內存】(sqlServer64的應該不用勾)左邊把對勾打上。在最大服務(wù)器內存(MB)上填入適當的大?。ň唧w填多大,肯定不能超過(guò)計算機的物理內存,當然,也可以在任務(wù)管理器中查一下,sqlserver.exe占有多大時(shí),系統會(huì )變慢作為參考),記得是以M(兆)為單位,點(diǎn)確定,重啟一下Sql服務(wù)器!OK!

解決SQL Server CPU占用率高

SQL Server CPU占用率高,一般是因為查詢(xún)數據量大,執行時(shí)間長(cháng)造成的。

這里提供調試方法,方便找出異常sql

1、打開(kāi)SQL Server Profiler

1.pnga.點(diǎn)擊新建跟蹤,并設置好數據庫連接
2、新建跟蹤

b.設置跟蹤屬性,選擇模板“Standard” 

c.切到“事件選擇”進(jìn)行跟蹤設置

 1) 只保留如下兩個(gè)事件選項

 2) 點(diǎn)擊列篩選

 3) 進(jìn)行詳細篩選設置

    設置CPU時(shí)間作為篩選條件,單位毫秒(用于跟蹤耗CPU占用較長(cháng)的查詢(xún),可設置為大于等于20000,按CPU內核數×1000,可以跟蹤CPU占用100%大于1秒的查詢(xún))

2.png


3、點(diǎn)擊運行,跟蹤語(yǔ)句,定位CPU占用較多的語(yǔ)句

如下圖所示,CPU占用2660146毫秒,CPU為24 核,則至少CPU占用100%耗時(shí)2660146/24/1000 = 110秒才可以執行好相應的操作

3.png

4、根據語(yǔ)句特征,在你的服務(wù)器程序中找到相應的功能,作出修正

4.1) 分析查詢(xún)中需要檢索數據量較大的部分,作出簡(jiǎn)單修正(如注銷(xiāo))

4.2) 更新后重新執行此查詢(xún),查看profiler中是否CPU占用消失

4.3) 如果已消失說(shuō)明問(wèn)題定位正確,可以?xún)?yōu)化查詢(xún),若CPU占用任然很多,則回滾修改,繼續4.1操作

4.png


提交成功!非常感謝您的反饋,我們會(huì )繼續努力做到更好!

這條文檔是否有幫助解決問(wèn)題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問(wèn)題:
-->