How often should I reboot SQL Server?
It is a common belief with computers that rebooting cleans things up in memory and that they run better if they are rebooted more often. With your windows desktop or your cell phone operating system this may be true, but that’s not the case with SQL Server.
Over time as SQL Server runs it fills up the memory with the things that it commonly uses. This includes data in tables that are most frequently hit, queries and stored procedures that are regularly run, and cached plans. The more of these things that SQL Server has in memory the less often it has to go to disk to use them.
If you reboot your SQL Server, you are starting out with nothing cached in memory and the very first query you run will bring things into memory, queries that get run over the next few hours will load up the SQL Server caches to improve performance, but until these the memory has been loaded up with the data and plans that it needs the SQL Server will likely run slow.
Sometimes after a SQL Server reboot it may take a day or two for everything to load up into memory for optimal performance, on other systems it may load up in an hour or two. So every time you reboot your SQL Server, or just restart the SQL Server process, you are starting over with slow performance for a while until SQL Server loads everything that it needs in memory to run smoothly.
I once worked on a project where the client had a reboot scheduled every Sunday night, then about every other Tuesday night they had scheduled updates, which usually caused a reboot. There were generally rebooting about twice a week, and Friday was the only day that they said that they had great performance. We turned off the weekly Sunday reboot, and switched updates to a monthly schedule rather than weekly, and their performance problems were dramatically reduced.
- So don’t ever reboot your SQL Server as a regular practice on a weekly basis. This will likely cause more performance problems that it will help.
- Don’t try rebooting your SQL Server as a way to try and speed up queries, this will likely have the opposite effect.
- I like to reboot a SQL Server when I see one that has been running for more than 2 years, just as a good practice, but less that that I wouldn’t worry about it.
- Reboot when you install updates, and don’t install updates too frequently.