- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會(huì )理事單位
- 安全聯(lián)盟認證網(wǎng)站身份V標記
- 域名注冊服務(wù)機構許可:滇D3-20230001
- 代理域名注冊服務(wù)機構:新網(wǎng)數碼
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
a.點(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))
3、點(diǎn)擊運行,跟蹤語(yǔ)句,定位CPU占用較多的語(yǔ)句
如下圖所示,CPU占用2660146毫秒,CPU為24 核,則至少CPU占用100%耗時(shí)2660146/24/1000 = 110秒才可以執行好相應的操作
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操作
售前咨詢(xún)
售后咨詢(xún)
備案咨詢(xún)
二維碼
TOP