自動定時重啟sql server回收內存
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
最近為數據庫服務器增加了內存,達到了最大支持的8G,數據庫用的是mssql 2005 ,之前內存一直是4G的,不存在內存大和32位操作系統沖突的事情,32位操作系統單進程最大支持2G的內存,這樣子的話內存就白加了,怎么辦呢? 網上搜索了很多資料,發現微軟提供了一個算是臨時的解決方案吧,使用AWE來分配內存,這樣子sqlserver占用的內存基本上可以達到系統總內存。但是,經過一段時間的運行,發現了一個問題,就是當內存占用增加到一定量(比如6G)的時候,內存還會一直增加下去,這樣時間長了就會造成內存用完,甚至可能造成服務器當機,我們的數據庫服務器就因為這個在晚上自己死機了,造成訪問中斷。究其原因是因為AWE不能自動回收內存。 于是乎一個想法出來了,因為sqlserver重啟時會自動回收內存,那么問題就變成了定時重新啟動sqlserver ,大家都知道sqlserver有自動備份等功能,但是沒有自動重啟的功能。這時候我突然想到了windows自帶的計劃任務,我們可不可以利用計劃任務來定時重新啟動sqlserver呢? 現在脈絡基本清楚,基于平時重新啟動sqlserver 時經常提示要關閉自動備份功能(也就是sqlserver代理),于是我新建一個記事本,然后重命名為sql.bat ,單擊右鍵編輯輸入以下內容:
基于這樣的內容,自動運行時不會出現任何提示,不信大家可以試試看更換或者刪減下上面的4個語句,運行后應該都會有提示,需要手工操作才可以。 下面就是在控制面板里面新建一個計劃任務了,這里省掉。 該文章在 2014/9/24 9:06:30 編輯過 |
關鍵字查詢
相關文章
正在查詢... |