自動定時重啟sql server回收記憶體

來源:互聯網
上載者:User

最近為資料庫伺服器增加了記憶體,達到了最大支援的8G,資料庫用的是mssql 2005 ,之前記憶體一直是4G的,不存在記憶體大和32位作業系統衝突的事情,32位作業系統單進程最大支援2G的記憶體,這樣子的話記憶體就白加了,怎麼辦呢?

  網上搜尋了很多資料,發現微軟提供了一個算是臨時的解決方案吧,使用AWE來分配記憶體,這樣子sqlserver佔用的記憶體基本上可以達到系統總記憶體。但是,經過一段時間的運行,發現了一個問題,就是當記憶體佔用增加到一定量(比如6G)的時候,記憶體還會一直增加下去,這樣時間長了就會造成記憶體用完,甚至可能造成伺服器當機, 課件下載論壇 的資料庫伺服器就因為這個在晚上自己死機了,造成訪問中斷。究其原因是因為AWE不能自動回收記憶體。

  於是乎一個想法出來了,因為sqlserver重啟時會自動回收記憶體,那麼問題就變成了定時重新啟動sqlserver ,大家都知道sqlserver有自動備份等功能,但是沒有自動重啟的功能。這時候我突然想到了windows內建的計劃任務,我們可不可以利用計劃任務來定時重新啟動sqlserver呢?

  現在脈絡基本清楚,基於平時重新啟動sqlserver 時經常提示要關閉自動備份功能(也就是sqlserver代理),於是我建立一個記事本,然後重新命名為sql.bat ,單擊右鍵編輯輸入以下內容

  net stop sqlserveragent

  net stop mssqlserver

  net start mssqlserver

  net start sqlserveragent

  基於這樣的內容,自動運行時不會出現任何提示,不信大家可以試試看更換或者刪減下上面的4個語句,運行後應該都會有提示,需要手工操作才可以。

  下面就是在控制台裡面建立一個計劃任務了,這裡省掉。

  本人首發admin5站長網,轉載請註明出處http://www.kejianxiazai.com。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.