一.排查問題
控制面板 -> 管理工具 -> 事件查看器 -> Windows日志 -> 應用程序
根據出錯時間點找到錯誤日志:地址窗口化擴展插件(AWE)要求'鎖定內存頁'特權,但在該進程的訪問標記中當前未提供該權限。
二. 可能是我在SQLService設置了最大內存的原因
三.解決問題
方法1:
運行-->
gpedit.msc ->Windows 設置->安全設置->本地策略->用戶權限分配->內存中鎖定頁面 這里加上sql server的啟動帳號
gpedit.msc ->Windows Settings->Security Settings->Local Policies->User Rights Assignment->Lock pages in memory 這里加上sql server的啟動帳號.
方法1:
運行->services.msc,找到sql服務,選中這幾個服務右擊->屬性->登錄->選中第一行本地系統賬戶->確定,然后重啟這個服務!
補充
以上方法應用之后雖然不會出現應用程序池或者web站點自動停用的情況,但處理一些數據量比較大,消耗內存多的操作時會出錯。
感覺是sql service用了內存之后似乎不會自動回收,導致隨着時間推移內存占用越來越多,正好我們的系統每天都要發一些報表,遇到這類數據量大一些的操作就會報錯。
為了解決這個問題我到網上抄了一段批處理並加入定時任務,每天定時重啟一次sql service服務。
一.新建文本文檔復制以下代碼,保存並修改后綴名為bat
net stop sqlserveragent
net stop mssqlserver
net start mssqlserver
net start sqlserveragent
二.添加定時任務
操作系統為window server 2008
1.開始->程序->附件->系統工具->任務計划程序
2.選中 "任務計划程序庫",右邊點"新文件夾",輸入runBat
3.選中左邊的"runBat",右邊點"創建基本任務"
4.輸入名稱點下一步
5.選擇觸發間隔
6.選擇啟動程序
7.正確選擇程序或腳本選項后,起始於我也填寫了腳本所在的文件夾。
8.完成